そのため、ここ数日、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でプロジェクトを作成/更新するチームが複数ある場合、すべてのプロジェクトでパッケージの更新をどのように処理しますか?