Nuget.exe安装 - Microsoft.CSharp已经具有System.Dynamic.Runtime的依赖项

时间:2016-07-05 21:22:15

标签: powershell continuous-integration nuget

我们在CI构建中通过PowerShell预构建脚本安装了一些软件包。最近,我们收到了部分成功的电子邮件通知,其中提供了以下信息:

  

' Microsoft.CSharp'已经为System.Dynamic.Runtime'

定义了依赖关系

以下是PowerShell脚本中生成信息的命令:

cd $source\MyNet\MyWeb\MyComp.WebViewer\packages
&"C:\Program Files\Microsoft Team Foundation Server 14.0\Tools\Nuget.exe" install newtonsoft.json

我希望能够处理/忽略此消息,以便收到完全成功的构建通知。

否则它似乎没有造成任何问题。

是否有人有任何可能绕过此类错误的nuget.exe命令行参数?

3 个答案:

答案 0 :(得分:18)

错误消息already has a dependency defined for通常表示您使用的NuGet版本太旧。所以你应该考虑更新它。

当使用的NuGet包使用与您正在使用的NuGet版本不知道的目标框架的组依赖关系时,可能会发生此特定错误。

答案 1 :(得分:1)

在我的情况下,我在安装一些Nuget Package时收到一条消息:

  

'PackageA'已经为'PackageB'定义了依赖关系

我在线搜索Nuget Package Manager中的PackageB,然后点击安装按钮再次安装, 然后遇到了问题:

  

该软件包需要NuGet客户端版本“2.12”或更高版本,但当前的NuGet版本为“2.7.40911.287”。

我做这个解决方案Nuget version not correct?

升级Nuget Package Manager版本后,我可以安装PackageB,然后我可以安装PackageA。

答案 2 :(得分:0)

我在使用NuGet加载Google.Apis.Sheets.v4时遇到了类似的问题。

将我的VS.NET 2013从NuGet 2.8.60723.765升级到2.12.0.817解决了它。

要查看您的NuGet版本号,请使用Tools / NuGet Package Manager / Package Manager控制台转到Package Manager控制台提示符(PM>)。然后,输入" $ host"在PM>提示。

PM> $host

Name             : Package Manager Host
Version          : 2.12.0.817
InstanceId       : 38c7734c-3169-4933-b934-23dab18055f2
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : NuGetConsole.Host.PowerShell.Implementation.NuGetPSHost+Commander
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

PM> 

要更新NuGet,请选择工具/扩展程序和更新....然后,选择"更新"然后点击"更新" " NuGet Package Manager"的按钮。

enter image description here

更新完成后,重新启动Visual Studio并重新检查NuGet版本号。