改善された 自動パッケージ復元 プロセスを使用して、不足しているNuGetパッケージを復元しています。
ビルド時に、パッケージソースからのダウンロードを開始すると、復元ダイアログがポップアップします。これは正しいです。
パッケージがパッケージフォルダに復元されていることがわかりますが、すべてのパッケージの復元が完了していません。次の種類のエラーが表示されます。
Error 10 NuGet Package restore failed for project MyProject: System.InvalidOperationException: Unable to find version '6.0.1' of package 'Newtonsoft.Json'.
at NuGet.PackageHelper.ResolvePackage(IPackageRepository repository, String packageId, SemanticVersion version)
at NuGet.VsEvents.PackageRestorer.RestorePackage(PackageReference package)
at NuGet.VsEvents.PackageRestorer.RestorePackages(String packageReferenceFileFullPath, IFileSystem fileSystem)
at NuGet.VsEvents.PackageRestorer.PackageRestore(ProjectPackageReferenceFile projectPackageReferenceFile).
これは、複数のパッケージソースがあるためでしょうか?
たとえば、NuGetは、nuget.org
ソースではなく、 'Newtonsoft.Json'のプライベートパッケージソースを検索している可能性があります。
.nuget/NuGet.config
ファイル:
<configuration>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="private" value="http://privatePackageSource.com/nuget" />
</packageSources>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
Visual Studio 2013とNuGet 2.8.5を使用しています。
編集:
Fiddlerを使用して、NuGetが実際に誤ったソースのパッケージを検索していることを確認しました。私のプライベートリポジトリから次のパッケージをリクエストしています。
また、 この投稿 を読み、activePackageSource
セクションをNuGet.config
ファイルに追加しました。
<configuration>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="private" value="http://privatePackageSource.com/nuget" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
しかし、それは問題を解決しません。
実際、グローバルなNuGet.configファイル(C:\ Users\UserName\AppData\Roaming\NuGet\NuGet.config)によって上書きされていました。 Visual Studioを再起動すると、問題は解決したようです。
何らかの理由で、NuGet.configのnuget.orgキーが無効になっています。 NuGet Package Mangerの設定を確認しましたが、すべて正常でした。 VS2013を再起動し、機能しました。動作する私のNuGet.configは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</packageSources>
<disabledPackageSources />
<activePackageSource>
<add key="Microsoft and .NET" value="https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/" />
</activePackageSource>
</configuration>
同じエラーがありました、私の場合は、構築前にnuget restoreコマンドが修正されました