問題タブ [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.
c# - WorkItemCollection アイテムへのアクセスが遅すぎる
TFS SDK を使用して、次を使用して作業項目をクエリしていWorkItemStore.Query
ます。
コレクションからのアイテムへのアクセスが遅すぎます。WorkItem メンバーにアクセスするたびに TFS サーバーと通信していますか? 一度に必要なすべてのフィールドを取得するような方法でクエリを作成する方法はありますか?
問題は、TFS サーバーがオフショアにあるため、速度が遅いことです。まとめてクエリを実行すると、はるかに高速になります。
編集:添付ファイル フィールドをクエリできません。「添付ファイル」は有効なフィールドではありません。
asp.net - ASP.NETおよびTFSAPIを使用したパススルー(偽装)認証
TFS2010APIを使用するASP.NETWebサイト内でパススルーまたは偽装認証を有効にしようとしています。
これはCassiniで正しく機能していますが、IIS 7.5(Windows 7)では問題が発生しています。
このテーマに関するこのブログ投稿を見つけて、次のことを試しました。
カッシーニを使うときは、他に何も必要ありません
collection = new TfsTeamProjectCollection(new Uri(server));
web.config設定を有効にしました(そしてWindows認証モジュールをインストールしました):
私が見逃した明らかな何かがありますか?
c# - C#のTFSへの汎用テストケースの追加
そこで、C#を介して新しい汎用テストケースをTFSに挿入できる方法を見つけようとしています。これらはVisualStudioで作成できるものと同じであるため、TFSAPIを使用してこれを行う方法があることを期待していました。提案のヒントは大歓迎です。
ありがとう!!
visual-studio - TFS: 2 つのブランチ間で変更セットを比較する方法
プログラムでブランチ B にマージされなかったブランチ A の変更セットを見つけるにはどうすればよいですか。これは Merge Window が TFS クライアント GUI で行うことですが、変更セットのリストをプログラムで取得する必要があります。
参照があるとしMicrosoft.TeamFoundation.VersionControl.Client.Workspace
ます。
tfs - 64ビットのみのIISプロセスでTFS2010クライアントを使用する
TFS2010クライアントアセンブリに関して矛盾する情報を見つけました。64ビットのみのアプリケーションプールでIIS7.5で実行されているASP.NetアプリケーションからTFS2010サーバーに接続したいと思います。
すべてのTFSクライアントアセンブリをWebアプリケーションのbinフォルダーにxコピーしました(TFSクライアントをWebサーバーにインストールする必要がないようにするため)。ただし、次のアセンブリから不正な画像形式の例外が発生します。
- Microsoft.TeamFoundation.WorkItemTracking.Client.Cache.dll
- Microsoft.TeamFoundation.WorkItemTracking.Client.RuleEngine.dll
- Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.dll
それらはすべて32ビットのみのアセンブリのようです。
これを回避する方法はありますか、またはTFS 2010クライアントアセンブリを使用する前に、アプリケーションプールを32ビットアプリケーションに対して有効にする必要がありますか?
.net - プログラムで TFS 2010 に接続しようとすると、アクセス許可エラーが発生する
Microsoft.TeamFoundation.Client.TeamFoundationServer
.Netクラス (この場合は powershell) を介して TFS 2010 に接続しようとしています。
コンストラクターの引数として、Visual Studio を介して接続するのと同じ URL と、.NET を介して取得した Active Directory 資格情報を渡しますSecurity.Principal.WindowsIdentity.GetCurrent()
。ただし、Authenticate()
メソッドを呼び出すと、次のエラーが発生します(資格情報のサブドメインとユーザー名)。
「0」個の引数を指定して「Authenticate」を呼び出し中に例外が発生しました: 「TF50309: 次のアカウントには、操作を完了するのに十分な権限がありません: (DOMAIN)\(USERNAME)。この操作を実行するには、次の権限が必要です: コレクションの表示レベルの情報です。」
はい、この権限が何であれ、システム管理者にバグを報告することができますが、なぜそれが必要なのかわかりません。結局のところ、Visual Studio または Web インターフェイス (URL の末尾に "/web" を付けて) を介して TFS に問題なく接続できます。プログラムで認証できないことで何が欠けていますか?
追加のヒント: TFS2008 サーバーもあります。まったく同じプロセスに従って、問題なく認証できました。
c# - TFSコマンドの実行中にエラーが発生しました
を呼び出すときに例外がありますWorkspace.Merge
。VersionControlExt
VisualStudioからアクセスできます。以下のコードは、Visual Studio TFSエクスプローラーウィンドウオブジェクト(環境でアクティブであり、ユーザーがログインしている)にアクセスします。
例外の詳細
TargetSite:{System.String get_AuthorizedUser()}
スタックトレース
Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer.get_AuthorizedUser()\ r \ n Microsoft.TeamFoundation.VersionControl.Client.Workspace.get_DisplayName()\ r \ n Microsoft.TeamFoundation.VersionControl.Client.Workspace.RequireLocal() \ r \ n Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge(ItemSpec source、String targetPath、VersionSpec versionFrom、VersionSpec versionTo、LockLevel lockLevel、MergeOptionsEx mergeOptions、String [] propertyNameFilters)\ r \ n at Microsoft.TeamFoundation.VersionControl .Client.Workspace.Merge(ItemSpec source、String targetPath、VersionSpec versionFrom、VersionSpec versionTo、LockLevel lockLevel、MergeOptionsEx mergeOptions)\ r \ n at Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge(String sourcePath、String targetPath、VersionSpec versionFrom、VersionSpec versionTo、LockLevel lockLevel、RecursionType recursion、MergeOptionsEx mergeOptions)\ r \ n
.net - TFSのブランチに関する情報をプログラムで取得する方法は?
TFS のブランチに関する情報をプログラムで見つける必要があります。たとえば、私が興味を持っている主なことは、ルート フォルダー$/MyProject/Project1を指定することです。そこから分岐している他のフォルダーを見つける必要があります。私は正しいAPIメソッドの直後です。
TFS サーバーに接続していてVersionControlServer
、Workspace
クラス インスタンスにアクセスできるとします。
tfs - TFS 2008/2010ワークアイテムタイプをプログラムで変更することは可能ですか?
TFSサーバーで作業項目の種類をプログラムで変更する方法はありますか?
この背景には、VSTS.Build.FoundInと同様のカスタムフィールドを使用しており、グローバルリストのビルド番号を入力する必要があります。単一のプロジェクトの場合、問題はありません。グローバルリストの名前を使用してSUGGESTEDVALUESルールを手動で指定するだけで十分です。このアプローチの問題は、複数のプロジェクトで再利用するテンプレートに適用できないことです。グローバルリスト参照でプロジェクト名のプレースホルダーを指定する方法がありません。したがって、TFSプロジェクトを作成するたびに、<GLOBALLIST name ="Builds-[ProjectName]"/>から<GLOBALLISTname= "Builds-Project1" />のように、グローバルリスト名を手動で変更する必要があります。
TFSには、FoundInプロパティとIntegrationBuildプロパティのこれらのルールを作成するためのハードコードされたメカニズムがあるようです(この回答を参照)。カスタムフィールドでもこのロジックを模倣するために、TFSイベントのハンドラーを作成することを検討していました。
symbols - リモートデバッグ用のシンボルのロード
ここにあるコードを使用して、TFS2010のプラグインをデバッグしようとしています。この例では、ローカルにインストールされたTFSを使用してデバッグすることをお勧めします。セットアップした開発用TFS2010サーバーで試してみたかったのです。そこで、そのマシンにRemote Debugger x64をインストールして、リモートデバッグを試みました。
そのマシンで実行されている3つのw3wp.exeプロセスがあります。しかし、私はそれらのそれぞれにアタッチしようとしました、そして私が私のブレークポイントをするたびに言います:
現在、ブレークポイントはヒットしません。このドキュメントにはシンボルがロードされていません。
ビルドするときに、ビルドからTFSマシンのプラグインフォルダーにすべてのファイルを出力します。シンボルをロードするためにファイルをローカルに保持する必要がありますか?シンボルファイルを手動で指す方法はありますか?シンボルファイルとは何ですか?
更新:数回の実行で動作するようになりました。しかし、今では再び機能していません。(TFSは稼働していますが、ブレークポイントから上記のメッセージが表示されます。...)