2016-07-05 72 views
12

我們在CI構建中通過PowerShell預構建腳本安裝了一些包。近日,我們陸續收到所提供的以下信息部分成功的電子郵件通知:Nuget.exe安裝 - Microsoft.CSharp已經具有System.Dynamic.Runtime的依賴關係

「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命令行參數可能繞過這樣的錯誤?

回答

17

錯誤消息already has a dependency defined for通常表示您使用的NuGet版本太舊。所以你應該看看更新它。

當使用的NuGet包與目標框架一起使用組依賴關係時,可能會發生此特定錯誤,該目標框架所使用的NuGet版本不知道。

+1

我試圖確定Nuget.exe的最新版本。我記不起以前在上述位置安裝它的原因,但它看起來像Team Foundation Server Tools。當我搜索時,我看到了一些日期爲2015年11月的內容。我想只是得到一個更新的nugget.exe,看看是否解決了這個問題。我現在使用的版本是2.8.60318.667。 – mawa316

+0

[也爲我工作](https://groups.google.com/forum/#!topic/cs-script/-UmNhc0tVLM)!非常感謝。 –

0

在我的情況,我得到一個消息時,安裝一些NuGet包:

'程序包A' 已經有 'PackageB'

定義的依賴。

我搜索PackageB在NuGet包管理器聯機,並點擊安裝按鈕重新安裝它, 然後遇到了一個問題:

的包需要的NuGet客戶端版本「2.12」或以上,但目前的NuGet版本是'2.7.40911.287'。

和我一樣這個解決方案Nuget version not correct?

後我升級NuGet包管理器的版本,我可以安裝PackageB,然後我可以安裝程序包A。