【问题标题】:Even with Nuget.exe 4.1.0 - Serilog already has a dependency defined for 'Microsoft.CSharp'即使使用 Nuget.exe 4.1.0 - Serilog 已经为“Microsoft.CSharp”定义了一个依赖项
【发布时间】:2017-06-11 15:41:51
【问题描述】:

我知道这个问题从 2016 年开始就有答案,但它今天不起作用。我已经安装了最新的 CU VS2013。

我的 Nuget 包源设置:

我想安装 nu-get 包“Serilog.Sinks.MSSqlServer”。首先,我通过导航到解决方案文件夹的“.nuget”文件夹并运行“nuget update -self”来确保 nuget 是最新的:

不幸的是,我在尝试添加包时仍然收到错误消息:

如果我尝试从 VS 的“扩展和更新”页面更新 nuget,则会收到 403 错误,如下所示:

403 确实表明存在代理问题,但可以将其他软件包安装到同一个开发盒中。我刚刚从“管理 NuGet 包”窗口安装了“Apache log4net” - 没问题

请问有什么解决办法吗?

【问题讨论】:

    标签: visual-studio-2013 nuget serilog


    【解决方案1】:

    这可能与您现在(使用新的 NuGet CLI 工具版本)需要使用新的 NuGet API 有关。

    来自nuget.org

    NuGet 提要 v3(VS 2015 及更高版本/NuGet v3.x 及更高版本):https://api.nuget.org/v3/index.json NuGet 提要 v2(VS 2013 及更早版本/NuGet 2.x):https://www.nuget.org/api/v2

    您可以在工具、选项、NuGet 包管理器、包源下检查(和编辑)您的 NuGet 包源。

    @Rob Bowman,为了回应您的评论并查看您的可用包源的屏幕截图,尝试将您的默认 nuget.org 编辑为 https://api.nuget.org/v3/index.json 或添加一个新的来源,并确保它们都已启用。也许这样就可以了。

    更新:也许手动更新 NuGet 包管理器(因为通过 扩展和更新 更新它不起作用)解决了这个问题。 NuGet Package Manager for Visual Studio 2013。 转到 Visual Studio 菜单 Help、About 应该会显示此扩展(和其他)的当前安装版本。

    【讨论】:

    • 感谢 Emiel,但似乎设置正确 - 我已经用屏幕截图更新了问题
    • 恐怕添加api.nuget.org/v3/index.json 作为附加源没有任何区别,当尝试添加“Serilog.Sinks.MSSqlServer”时,我仍然得到“Serilog 已经为 Microsoft.CSharp 定义了一个依赖项
    • StackOverflow post 中,有人提到更新 Visual Studio(以更新 5)作为解决类似问题的方法。
    • 403 Forbidden(尝试更新包管理器时)是否与代理相关?也许可以从the Visual Studio Marketplace 在 Visual Studio 之外手动安装扩展。
    • 好点 - 403 确实表明存在代理问题,但可以将其他软件包安装到同一个开发盒中。我刚刚从“管理 NuGet 包”窗口安装了“Apache log4net”——没问题。
    【解决方案2】:

    要解决这个问题,我必须:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多