TFS2015で自動ビルドを設定しようとしています。目標は、チェックイン時にソリューションが自動的に構築され、テストされるようにすることです。すべてが満たされると、新しいNugetパッケージが作成され、ローカルリポジトリに配置されます。TFSビルドでNugetパッケージが抽出されない
このプロセスは、依存性のない単純なプロジェクトである私の最初のソリューションでうまく動作します。このプロジェクトから作成されたNugetパッケージは、2番目のプロジェクトで依存関係として使用されます。
これはVisual Studioでビルドするときに問題なく動作します。パッケージは通常どおりダウンロードされ、抽出されます。しかし、この2番目のプロジェクトをTFSにチェックインすると、自動ビルドはこのパッケージを適切に処理しません。パッケージはローカルリポジトリから復元されますが、抽出されません。これは、ビルドに失敗したため、実際に必要なDLLが見つからないためです。
私もプロジェクトでEntityFrameworkを使用しており、正しく動作します。パッケージはダウンロードされますが、抽出されます。
このquestionに記載されている回避策を試しましたが、TFSサーバーにはC:\ Users.nuget \ packagesフォルダがありません。
また、hereコマンドを使用してNugetキャッシュをクリアしようとしましたが、それでも助けになりませんでした。
自動ビルドでダウンロードされたNugetパッケージを手動で抽出してビルドを再度実行すると、パッケージ自体に問題がないことが示されます。
Nuget.exeのバージョンは3.5です。 .Netバージョンは4.5標準です。パッケージはpackages.configで参照され、プロジェクト参照によっても参照されます。 Nuget.exeが復元に使用されています。
ローカルパッケージが抽出されない理由は何ですか?
どのようなプロジェクトを使用していますか?クラシック.net、.netコア/スタンダード(> "SDK" - プロジェクト)。 packages.configまたはProjectReference?復元にnuget.exeを使用していますか? –
.Netバージョンは4.5標準です。パッケージはpackages.configで参照され、プロジェクト参照によっても参照されます。 Nuget.exeが復元に使用されています。 – ChrisW
そして、ソリューションローカルパッケージフォルダを削除すると、あなたのマシン上で動作しますか?私はパッケージの参照がpackages.configにないと思われ、あなたのdevマシンでうまく動作するかもしれません。 –