Nuget.exe Install — Microsoft.CSharp already has a

2019-04-19 01:43发布

We install some packages via a PowerShell pre-build script in our CI build. Recently, we're been receiving Partially Successful email notifications with the following information provided:

'Microsoft.CSharp' already has a dependency defined for 'System.Dynamic.Runtime'

Here is the command from the PowerShell script that generates the information:

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

I would like to be able to handle/ignore this message so that fully Successful build notifications are received.

It doesn't seem to be causing any problems otherwise.

Does anyone have any nuget.exe command line parameters that might bypass such an error?

3条回答
叛逆
2楼-- · 2019-04-19 02:32

In my case, I get a message when install some Nuget Package:

'PackageA' already has a dependency defined for 'PackageB'

.

And I search PackageB in Nuget Package Manager online, and click install button to install it again, then ran into a problem:

The package requires NuGet client version '2.12' or above, but the current NuGet version is '2.7.40911.287'.

and I do as this solution Nuget version not correct?

after I upgrade the version of Nuget Package Manager, I can install PackageB, and then I can install PackageA.

查看更多
欢心
3楼-- · 2019-04-19 02:35

The error message already has a dependency defined for usually indicates that the version of NuGet you are using is too old. So you should look at updating it.

This particular error can happen when the NuGet packages being used are using a group dependency with a target framework which the version of NuGet you are using does not know about.

查看更多
闹够了就滚
4楼-- · 2019-04-19 02:47

I had a similar problem using NuGet to load the Google.Apis.Sheets.v4.

Upgrading my VS.NET 2013 from NuGet 2.8.60723.765 to 2.12.0.817 resolved it.

To see your NuGet version number, go to the Package Manager Console prompt (PM>) with Tools / NuGet Package Manager / Package Manager Console. Then, enter "$host" at the PM> prompt.

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> 

To update NuGet, select Tools / Extensions and Updates... . Then, select "Updates" followed by clicking on the "Update" button of the "NuGet Package Manager".

enter image description here

After the update completes, restart Visual Studio and re-check the NuGet version number.

查看更多
登录 后发表回答