Visual Studioアドインを使用してTFSチェンジセットの詳細ダイアログビューを開くにはどうすればよいですか?
-
29-10-2019 - |
質問
私はTFSに特定の成果物を持っています、例えばuriを持つチェンジセット"123"、 "vstfs:///VersionControl/Changeset/123".私はそのリンクを実現しました "http://tfs:8080/tfs/web/UI/Pages/Scc/ViewChangeset...aspx?チェンジセット=123" webブラウザを使用して変更セットの詳細ビューを開きます。
私がしたいのは、visual studio内で変更セットの詳細ビューを開くことです。私がこれを埋め込んでいる場所は、ビルドサマリー内のカスタムセクションです。このカスタムセクションをVisualStudioプラグインとして実装しました。ここに写真があります:
"Release Build"セクションはカスタムメイドであり、そのようなビルドがリリースされると、すべての人に送信される電子メールに関する情報を提供します。
このセクション内のチェンジセット6 2 7は、自動的にリンクに変換されたボタンコントロールである。ボタンの背後にある"Click"ハンドラが機能します。コードは現在次のようになります:
...
string link = buildDetailView.TeamProjectCollection.Uri.AbsoluteUri.Substring(0, buildDetailView.TeamProjectCollection.Uri.AbsoluteUri.LastIndexOf('/'));
link += "/web/UI/Pages/Scc/ViewChangeset.aspx?changeset=";
link += ((Button)sender).Content;
Process.Start(new ProcessStartInfo(link));
e.Handled = true;
...
このコードは新しいブラウザタブを開き、正しいページを表示します。ただし、Visual Studio内で変更セットの詳細を開きたいと思います。セクションの下部にあるボタンと同じように"関連するチェンジセット"があります。リンク"Changeset627"をクリックすると、Visual Studio内でそのchangesetが開きます。
編集1
私がそれの写真を投稿すれば、望ましい結果が正確に何であるかは少し明確かもしれません。「変更セットの詳細」ウィンドウは、APIを使用して開きたいものです。
解決
次のブログ記事を見てください:
- エド-ヒンツ:Visual StudioのTeam Foundationバージョン管理アドインを作成する方法
- ブライアン・ハリー:TFS SDKの改善に取り組んでいます と TFSAddinzipサンプルコード (ZIPファイルにはAPIのドキュメントも含まれています)
基本的には、次のアセンブリへの参照が必要です:
Microsoft.TeamFoundation.Client
Microsoft.TeamFoundation.VersionControl.Client
Microsoft.TeamFoundation.VersionControl.Controls
Microsoft.VisualStudio.TeamFoundation
Microsoft.VisualStudio.TeamFoundation.Client
Microsoft.VisualStudio.TeamFoundation.VersionControl
それからあなたは使うことができます VersionControlExt.ViewChangesetDetails(int changesetId)
アドインから特定の変更セットを表示するには:
VersionControlExt vce;
vce = _applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt;
vce.ViewChangesetDetails(changesetId);
これにより、特定のチェンジセットに関するすべての詳細をユーザーに表示するダイアログが表示されます。(これは、ユーザーが「詳細」を選択した場合に表示されるのと同じダイアログです。..「変更セットの検索」ダイアログで。)
他のヒント
VS 2015では、ここ ジェネラコディセタグプレ