私が求めているのは、新しい TFS 2012 サーバーに保存された作業項目の特定のフィールドに加えられたすべての変更をキャッチする方法です。これにより、他のロジック (ヘルプ デスク API を介して更新を処理する) を実行し、結果に基づいて結果を得ることができます。開発者によって変更されたもの。
私は1週間以上苦労しており、グーグルと参考資料を読んでいますが、TFS 2012では何も機能しないようです。
私は次のセットアップを試しました:
TFS 2010 でのサーバー側イベント ハンドラーの開発とデバッグ (GeeksWithBlogs)
そして、運がなければ、他の多くの「信頼できる」情報源。
私は一般的なアドバイスには興味がありませんが、この問題に対する具体的な解決策です。これを行うにはおそらく複数の方法がありますが、うまくいく方法に落ち着きます。
アプリケーション開発のこの部分を締め切り近くまで延期しました。最初に読んだときは簡単なことのように思えたからです。Microsoft.TeamFoundation.WorkItemTracking.Client ライブラリを使用してこの作業を行うことができると想像しましたが、クライアント コードからサブスクライブする事前定義された Event がないことが判明しました。(または私はそれを見つけていません)。したがって、上記のリンクで説明されているように、カスタム イベント ハンドラーを作成し、TFS の Plugins ディレクトリにインストールする必要があると思いますが、これを行うと、TFS のデバッグ中に例外が発生し、何も起こりません。
First-chance exception at 0x000007FEFD90BCCD (KernelBase.dll) in w3wp.exe
だから今、私は締め切りを過ぎており、これに対する実行可能な解決策をパニックで探してから、アプリケーションのヘルプデスク側でチケットを処理する必要があったように、定期的にループして WorkItems をチェックする手動の方法に頼っています。
イベントとデリゲートについてもっと知っていれば、これに対する良い解決策を作成できると思いますが、私は知りません。現在、C# を学習中なので...