0

Team Foundation Service のビルドを作成すると、あらゆる種類の参照 dll の見つからない例外が発生します。

これらの参照は、ナゲット パッケージによって追加されます。

.NuGet フォルダーに 3 つのファイルを追加するソリューションに「パッケージの復元」オプションを追加しました。

編集

別のPCでTFSから解決策を取得したとき、同じエラー(dllが見つからない)が発生したため、TFSビルドサービスだけに問題があるわけではありません。

欠落している dll は、インストールされた nuget パッケージから欠落しているファイルです (一部はデフォルトの VS テンプレートの一部であり、Unity は後で追加したパッケージです)。これは (パッケージ) 最初の PC に追加されますが、次の PC では欠落しています。 (そのため、この質問のタイトルに「または」を追加しました)

pc2でもNugetが追加したファイルを取得するにはどうすればよいですか?

4

1 に答える 1

1

あなたは今までに解決策を見つけたと思います。この質問に対する答えを提供するためだけにこれを書きます。

NuGet パッケージを別の PC に自動的にダウンロードするには、ビルド時に NuGet パッケージの復元を有効にする必要があります。これは、次の 2 つの手順で行います。

  1. ソリューションを右クリックし、[NuGet パッケージの復元を有効にする] を選択します。これにより、NuGet.Config、NuGet.exe、および NuGet.targets を含む .nuget ソリューション フォルダーがその下に追加されます。これらのファイルは実際にはソース管理にチェックインする必要がありますが、バイナリ ファイルは非常に小さいです。また、ソリューションのすべてのプロジェクトの MSBuild スクリプトを変更して、NuGet.targets ファイルをインポートし、NuGet をビルド プロセスにフックします。

  2. [ツール] -> [ライブラリ パッケージ マネージャー] -> [パッケージ マネージャーの設定] で、[ビルド中に NuGet が不足しているパッケージをダウンロードできるようにする] オプションがオンになっていることを確認します。この手順は、すべてのマシンで実行する必要があります。

これで、すべてのプロジェクト ビルド スクリプトの BuildDependsOn プロパティによって、NuGet.targets の RestorePackages ターゲットが開始され、欠落している参照のビルド エラーが発生する前に欠落しているパッケージがダウンロードされるようになります。

于 2013-07-17T19:36:12.683 に答える