0

そのため、ここ数日、NuGetのセットアップ、内部ライブラリのパッケージの作成、プロジェクトの更新、TFSビルドサーバーのビルドを行ってきました。これはすべて素晴らしいです!ただし、問題が発生しました。NuGetとパッケージの復元の前に、TFSで.dllファイルを検索できます。たとえば、TFSでCompany.Common.dllを検索し、次のコマンドでこのdllを利用したすべてのプロジェクトを見つけることができます。

tf dir "$ / * Company.common.dll" / recursive / server:http:// tfs-server:8080

NuGetの使用を開始し、パッケージの復元を使用した後、dllファイルCompany.Common.dllは、それを使用するプロジェクトのTFSに存在しなくなります。つまり、上記の検索コマンドを使用して、更新する.dllファイルを見つけることができません。

私は、TFS内のすべてのpackages.configファイルを検索し、それらをTFS内のさまざまなプロジェクトの場所を示すフォルダー構造にダウンロードするPowerShellスクリプトを作成することを検討していました。次に、packages.configファイルをトラバースして、更新したい特定のNuGetパッケージを使用しているプロジェクトを特定します。

もちろん、この理由は、更新がある場合は、すべてのプロジェクトでCommon.dllを更新する必要があるためです。

私が知りたいのは、誰かがすでにこの「問題」を解決したかどうかということです。そのため、私は再び車輪を発明する必要はありません。あるいは、これについて何らかの視点や建設的なコメントをする必要はありません。私はコアの質問はこれだと思います:

TFSでプロジェクトを作成/更新するチームが複数ある場合、すべてのプロジェクトでパッケージの更新をどのように処理しますか?

4

1 に答える 1

0

1 つの解決策は、"repositoryPath" NuGet 構成設定を使用して、中央の UNC 共有を指すようにすることです。詳細はこちら @ http://docs.nuget.org/docs/release-notes/nuget-2.1

NuGet.exe Update packageName -RepositoryPath xxx -Source xxx コマンドを使用して、必要に応じて特定のパッケージを更新できます。

于 2013-02-03T00:28:41.960 に答える