改善された自動パッケージ復元プロセスを使用して、不足している NuGet パッケージを復元しています。
ビルド時に、パッケージ ソースからのダウンロードが開始されると、[復元] ダイアログがポップアップします。これは正しいです。
パッケージが packages フォルダーに復元されていることがわかりますが、すべての復元が完了していません。次の種類のエラーが発生します。
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>
しかし、それは問題を解決しません。