4

TFS にアクセスする、社内用のカスタム アプリケーションを作成しました。これには Microsoft ライブラリを使用します (例: Microsoft.TeamFoundation.dll)。

このアプリケーションが、Team Explorer または VS が既にインストールされている PC に展開されている場合は、すべて問題ありません。これがインストールされていない PC に展開すると、失敗します。

必要なすべての DLL が含まれていますが、「共通言語ランタイムが検出され、プログラムが無効です」というエラーが表示されます。エラーは、適度に無害な行で発生します。

TeamFoundationServer myServer = new TeamFoundationServer(“ourserver.ourdomain.com”);

興味深いことに、一般的な TFSAdmin ツール (必要な DLL を exe ディレクトリにドロップすると) でも同じエラーが発生します。

また、TFS にアクセスする他の多くのカスタム アプリケーション (例: http://hinshelwood.com/tfsstickybuddy.aspx ) を動作させるには、Team Explorer または VS をインストールする必要があることにも注意してください。

明らかに DLL だけでは不十分であり、これらのインストールが発生すると魔法が発生します。誰がそれが何であるか知っていますか?魔法を起こす方法を知っている人はいますか?

4

2 に答える 2

9

TFSオブジェクトモデルを使用するアプリケーションを作成する「公式にサポートされている」方法は、チームエクスプローラーをマシンにインストールすることです。これは、サービスの目的で特に重要です。つまり、VSTSのサービスパックがクライアントマシンに適用されたときに、TFSAPIもアップグレードされるようにする必要があります。TFS APIには再配布権がないため、アプリケーションに同梱しないでください。

ところで-TFSOMを使用するアプリケーションを作成している場合は、必ず「任意のCPU」ではなく「X86」としてのみコンパイルしてください。TFS APIアセンブリはすべてX86とマークされていますが、アプリが「任意のCPU」とマークされている場合、x64マシンでは、64ビットCLRによってロードされますが、TFSアセンブリを動的にロードするときに失敗します。

幸運を、

マーティン。

于 2008-09-30T20:20:35.287 に答える
1

Try this list:

http://geekswithblogs.net/jjulian/archive/2007/06/14/113228.aspx

And also trying putting them in the GAC. It may be a security trust issue - assemblies in the GAC are granted a higher CAS level.

于 2008-09-30T04:01:07.153 に答える