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コマンドラインパラメータを持っていますか?
エラーメッセージalready has a dependency defined for
は通常、使用しているNuGetのバージョンが古すぎることを示します。そのため、更新を検討する必要があります。
この特定のエラーは、使用中のNuGetパッケージが、使用しているNuGetのバージョンが知らないターゲットフレームワークでグループ依存関係を使用している場合に発生する可能性があります。
私の場合、Nugetパッケージをインストールするとメッセージが表示されます。
「PackageA」には、「PackageB」に対して定義された依存関係が既にあります
。
そして、Nuget Package ManagerでPackageBをオンラインで検索し、インストールボタンをクリックして再度インストールした後、問題が発生しました。
パッケージにはNuGetクライアントバージョン「2.12」以上が必要ですが、現在のNuGetバージョンは「2.7.40911.287」です。
そして、私はこの解決策として Nugetバージョンが正しくありませんか?
nuget Package Managerのバージョンをアップグレードした後、PackageBをインストールしてからPackageAをインストールできます。
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パッケージマネージャー」の「更新」ボタンをクリックします。
更新が完了したら、Visual Studioを再起動し、NuGetのバージョン番号を再確認します。