これには非常に簡単な解決策がありますが、TFS からファイルをダウンロードする必要があります。いずれの場合も、DLL ファイルを見つけることができるように、ユーザー アカウントが必要になります。コードの一部を次に示します。
DLL ファイルのリストを取得するには:
TfsTeamProjectCollection tfcollection = new TfsTeamProjectCollection(new Uri("URL"), new System.Net.NetworkCredential("USERNAME", "PASSWORD"));
VersionControlServer server = tfcollection.GetService<VersionControlServer>();
//Obtain all DLLs. You can narrow this down to the specific one's you want
ItemSet items = server.GetItems("$/*.dll", RecursionType.Full);
ファイルをダウンロードするには、簡単にするために少し単純化しました。ファイルを循環するには、次のことができます。
foreach (Item item in items.Items)
次に、ファイルをダウンロードします。これは遅いですが、アルゴリズムが TFS フォルダー構造を再作成するのを止めます。
string[] split = item.ServerItem.ToString().Split('/');
//This may not work if you have files in the root
item.DownloadFile(split[split.Length - 1]);
これにより、DLL ファイルがダウンロードされ、そこからデータを抽出できるようになります。残念ながら、TFS から直接これを行うことはできないため、コピーが必要です。これで、DLL のバージョンを抽出できます。
FileVersionInfo.GetVersionInfo(localFileLocation).FileVersion
データを提示する方法は明らかにあなた次第です。簡単にするために、item.ServerItem と共にバージョン番号をテキスト ファイルにダンプします。
誰かが似たようなものを探しているなら、これが役立つことを願っています!