NuGet:'X'已经有一个依赖项定义为'Y'
在尝试安装软件包Microsoft.AspNet.Server.IIS
时,我在NuGet中收到以下错误
Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS.Interop (≥ 1.0.0-alpha4-10330)'. Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS (≥ 1.0.0-alpha4-10330)'. 'Microsoft.AspNet.Loader.IIS' already has a dependency defined for 'Microsoft.AspNet.FeatureModel'.
如何解决?
更新:另外我得到以下内容:
Attempting to resolve dependency 'Microsoft.Framework.DependencyInjection (≥ 1.0.0-alpha4-10326)'. 'Microsoft.Framework.DependencyInjection' already has a dependency defined for 'Microsoft.Framework.ConfigurationModel'.
这是通过安装最新的NuGet包pipe理器解决的:
https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca
不要忘记重新启动VisualStudio。
我在我的解决scheme中修复了类似的问题:
- 打开命令提示符
- 导航到我的解决scheme中的.nuget文件夹
- 运行
nuget update -self
这将我的解决scheme中的NuGet.exe的拷贝从2.8.0升级到3.4.4,修复了'X'已经有一个为'Y'定义的依赖关系,它阻止它在build立之前自动下载SSH.NET 。
(如果您的解决scheme中没有NuGet.exe的副本 – 也可能不是 – 那么您应该在TN的答案中尝试解决scheme)
我尝试了更新,但它不适合我。 帮助:
- 卸载nuget =>工具>扩展和更新>已安装
- 安装nuget
- 重新加载VS
我在TeamCity构build服务器上遇到这个问题。 我尝试更新构build服务器上的NuGet(通过TC),但没有奏效。 我最终通过将Nuget Installer构build步骤的“更新模式”从解决scheme文件更改为packages.config来解决了这个问题。
我得到的问题是'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'
在TeamCity构build服务器上'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'
。 我将Nuget Installer构build步骤的“ 更新模式 ”从解决scheme文件更改为packages.config和NuGet.exe到最新版本(我有3.5.0),它的工作原理 !
我唯一的解决scheme是从Visual Studio 2013中完全卸载nuget,然后再次安装VS之间的义务重启。
在我的情况下,我不得不删除项目文件夹 /.nuget 文件 NuGet.exe并重build项目。
我也在NuGet.targets中将DownloadNuGetExe标记为true:
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>
希望这是帮助。