web-dev-qa-db-ja.com

Nuget.exeのインストール— Microsoft.CSharpにはSystem.Dynamic.Runtimeの依存関係が既にあります

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コマンドラインパラメータを持っていますか?

14
mawa316

エラーメッセージalready has a dependency defined forは通常、使用しているNuGetのバージョンが古すぎることを示します。そのため、更新を検討する必要があります。

この特定のエラーは、使用中のNuGetパッケージが、使用しているNuGetのバージョンが知らないターゲットフレームワークでグループ依存関係を使用している場合に発生する可能性があります。

19
Matt Ward

私の場合、Nugetパッケージをインストールするとメッセージが表示されます。

「PackageA」には、「PackageB」に対して定義された依存関係が既にあります

そして、Nuget Package ManagerでPackageBをオンラインで検索し、インストールボタンをクリックして再度インストールした後、問題が発生しました。

パッケージにはNuGetクライアントバージョン「2.12」以上が必要ですが、現在のNuGetバージョンは「2.7.40911.287」です。

そして、私はこの解決策として Nugetバージョンが正しくありませんか?

nuget Package Managerのバージョンをアップグレードした後、PackageBをインストールしてからPackageAをインストールできます。

1
yu yang Jian

NuGetを使用してGoogle.Apis.Sheets.v4をロードすると、同様の問題が発生しました。

VS.NET 2013をNuGet 2.8.60723.765から2.12.0.817にアップグレードすると解決しました。

NuGetのバージョン番号を確認するには、ツール/ NuGetパッケージマネージャー/パッケージマネージャーコンソールを使用して、パッケージマネージャーコンソールプロンプト(PM>)に移動します。次に、PM>プロンプトで「$ Host」と入力します。

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パッケージマネージャー」の「更新」ボタンをクリックします。

enter image description here

更新が完了したら、Visual Studioを再起動し、NuGetのバージョン番号を再確認します。

0
JohnH