即使使用 Nuget.exe 4.1.0 - Serilog 已经为 'Microsoft.CSharp' 定义了依赖项

Even with Nuget.exe 4.1.0 - Serilog already has a dependency defined for 'Microsoft.CSharp'

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

我的Nuget包源设置:

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

确保 nuget 是最新的

不幸的是,我在尝试添加包时仍然出现错误:

如果我尝试从 VS 的 "Extensions and Updates" 页面更新 nuget,则会收到 403 错误,如下所示:

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

请问有什么解决方法吗?

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

来自 nuget.org

NuGet feed v3 (VS 2015 and later / NuGet v3.x and above): https://api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 and earlier / NuGet 2.x): https://www.nuget.org/api/v2

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

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

更新:也许手动更新 NuGet 包管理器(因为通过 Extensions and Updates 更新它不起作用)解决了问题。 NuGet Package Manager for Visual Studio 2013。 转到 Visual Studio 菜单 帮助,关于 应该会显示此扩展程序(和其他)的当前安装版本。

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