問題タブ [tfs-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1641 参照

tfs - サーバー側の方法を使用したTFS作業項目の更新

TFS 2010の新しいサーバー側プラグイン機能を使用しようとしています(ここここからこれを開始する方法の基本を理解しました)

これはうまく機能し、TFSイベントを処理する通常のWebサービスの方法よりも何倍も高速です。

しかし、サーバー側のメソッドは非常に文書化されていません。作業項目を取得する方法を理解しましたMicrosoft.TeamFoundation.WorkItemTracking.Server.DataAccessLayerImpl.GetWorkItem((および)を介してGetWorkItemXml

しかし、更新を行うと混乱します。すべての更新メソッドはxmlを取ります。ただし、GetWorkItemXmlから返されるxmlは正しい形式ではありません(「アクション'FIELD'は許可されていません」と表示されます)。

クライアント側のTFSAPIを使用してみましたが、機能します。しかし、それはサーバーへの石鹸の呼び出しをラップしているので、私が望むよりも遅いです。私はすでにサーバー上で実行しているので、その余分な(不要な)通信ステップを必要としないと便利です。

TFSのサーバー側の経験がある人はいますか?サーバー側のメソッドを使用して作業項目を更新する方法についての指針を教えてください。

0 投票する
2 に答える
7451 参照

tfs - カスタム TFS フィールドをプログラムで更新する方法

カスタム ビルド プロセス (MS ビルドを使用しない) があり、そのプロセス中に「偽の」ビルドをグローバル ビルド リストに追加しています。私がそうしているのは、(ビルドで見つかった) 特定の作業項目のビルドを選択できるようにするためです。ワークアイテムがどのビルドで修正されたかを表示するためのビルドを含むカスタム フィールドがあります。このフィールドをプログラムで更新する方法がわかりません。これを実行する小さなアプリをビルド プロセス中に呼び出して、最後のビルド以降のすべての作業項目を検索し、それらの作業項目のフィールドを更新するという考えです。何か案は?

0 投票する
3 に答える
6291 参照

c# - TFS ワークスペースからファイルを取得しようとすると、アプリケーションが停止する

そのため、TFS のワークスペースからファイルを取得しようとしています。残念ながら、私がこれを試みたすべての試みは、アプリケーションの停止という結果に終わりました。現時点では、これはコードです:

何が起こるかというと、このアプリケーションを (複数のマシンで) 実行するたびに、 で停止しitems[x].DownloadFile()ます。TFS 内のすべてのファイルはロックされていません。すべて問題ありません。メソッドを使用しようとしてもWorkspace.Get()、同じ結果になります。

一時停止を押すと、x は特定の値になりますが、アイテム コレクションにアクセスできません。たとえば、「現在のスレッドがスリープ、待機、または結合中であるため、式を評価できません」というメッセージが表示されます。コールスタックを評価すると、次のようになります。

私はさらに何をすべきか途方に暮れています。アプリケーションを一時停止するたびに、x常に同じ値になります (停止する値は、アプリケーションの実行ごとに異なります)。

誰にもアイデアはありますか?


編集:診断ロジックを追加した後(グラントの回答のリンクに基づいて)、これまで以上に混乱しています。

このメソッドに渡すワークスペースは$/QA/Automated Test Scripts/Regression or System Test Scripts/RDE or Condo(デバッガーで検証済み) です。

ただし、tfs ログを見ると、次のように、実行中のコード ファイルをダウンロードしているように見えます。

そのエントリの直後は次のとおりです。

その後、ログ ファイルは更新されず、アプリケーションは停止します。私が混乱しているのは

1) 完全に異なる TFS ワークスペースを指定しているときに、これが TFS からアプリケーション コードをプルしようとするのはなぜですか?

2) ファイルを取得しようとした後、なぜこれが停止するのですか? が Visual Studio で開いていることが原因である可能性がfmMain.csありますが、それでも例外が発生し、ハングアップすることはありません。通常、ビジュアルスタジオでファイルを開いている間に最新のものを取得できます。



編集2:

わかりましたので、MSDN を読んでいて、ワークスペース名がファイルへのローカル パスであることに気付きました。workspaceNameそのため、ファイルのローカル ディレクトリへのパラメーターとして渡したものを変更しました。それでもストールが発生しますが、ログ ファイルにはその理由があまり明確ではありません。ここに tf.log ファイルをアップロードしました(サーバー名やプロジェクト名などの機密情報は明らかに変更しましたが、それ以外はすべて変更していません)。その最後のログ エントリの後、それ以上のデータはログに書き込まれません。

0 投票する
2 に答える
5397 参照

tfs - TFS の WorkItemStore.Query でパラメーターのアイテムのリストを指定する

TFS プロジェクトに対して次の WIQL クエリを取得しました。

これは、.NET TFS API を介して実行されています。

私の問題は、AssignedToパラメータにあります。これはどのように指定されることを意味しますか? 上記のように、引用符の有無にかかわらずstring[]、として試しました。List<string>どれもうまくいかないようです。

0 投票する
2 に答える
5100 参照

c# - TFSAPIチェンジセットブランチ

この記事に従って、チェンジセットからブランチ履歴を抽出しようとしています。ただし、チェンジセットにはIsBranchというプロパティがあることに気付きました。これは、チェンジセットがブランチであるかどうかを確認するための記事で説明されている方法ではありません。

次のチェックの違いは何ですか。

0 投票する
1 に答える
11079 参照

c# - TfsConfigurationServer.GetService() は常に null を返します

TFS SDK を使用して TFS 2010 に接続しようとしていますが、VersionControlServer サービスを取得できません。

それから

どちらも常に null を返します。

私は何をすべきか?

0 投票する
3 に答える
6751 参照

c# - TFS 2010 API - QueryHistory で返された変更セットのリストの反復処理が遅すぎる

簡単に言えば。プロファイリング後、このコマンドは処理の 0.1% を占めます

これ、65,7%。(面白いことに、内部のすべての処理は 3% しか消費しません)

リストを取得するまでに数秒かかります... 何が起こっているのですか? リストの反復処理が遅いのはなぜですか?

これを行うより速い方法はありますか?

編集:さらに、直接変換できないのはなぜList<Changeset>ですか?

0 投票する
1 に答える
2899 参照

c# - TFS2010APIを使用してワークスペースイベントをサブスクライブする

ローカルワークステーションでTFSワークステーションを監視するコードを記述しようとしていますが、現時点では、イベントを発生させるのに問題があります。

たとえば、ワークスペースに新しいフォルダーをマップする場合は、versionControl.UpdatedWorkspaceイベントをサブスクライブし、「get」を実行する場合は、versionControl.Gettingイベントにマップします。以下のコードは、動作するはずのコンソールアプリケーションですが、取得しても何も起こりません。これらのイベントを正常にサブスクライブする方法を知っている人はいますか?

VS2010、TFS 2010、WinXP SP3

0 投票する
1 に答える
387 参照

tfs - TFS SDKを使用して、サーバーにカスタムメタデータを登録できますか?

Visual Studioプラグインが接続し、VisualStudioがTeamSystemサーバーに接続するカスタムのWindowsサービスがあります。

Visual StudioプラグインがTFSからURIを取得してサービスに接続する方法を知ることができるように、カスタムサービスが何らかの方法でそのURIをTFSサーバーに登録する方法はありますか?

主に、プラグインのユーザーがカスタムサービスのURIを構成する必要がないようにします。これは、プラグインが常にtfsサーバーに接続することがわかっているためです(Windowsサービスも同じTFSサーバーに接続するため、使用しませんTFSの同じインスタンスがないサービスとプラグイン)。

0 投票する
1 に答える
1439 参照

c# - TFS API 情報NodeConverters.GetAssociatedChangesets() が期待どおりに機能しない

この関数の目的を誤解している可能性があると思いますが、ここに私の問題があります。

ビルドの概要を見ると、ビルドが正常に実行されたことがわかり、次のように表示されます。

次のコードをコンソール アプリで実行して、ビルドに含まれているチェンジセットを教えてくれます。

問題は、これが何も返さないことです。Information プロパティには 6 つのノードがあり、変更セットやワークアイテムに関連するノードはありません。VS2010 のビルド サマリーでは変更セットが関連付けられていることが示されるのに、以下のコードでは異なることが示されるのはなぜですか?