2011-12-15 11 views
1

私はいくつかのレガシーCOMコンポーネントを使用するプロジェクトを持っています。プロジェクトに参照として含めると、IsolatedコンポーネントをTrueに設定してCOMコンポーネントを登録する必要がなくなりました。TFSビルド中にマニフェストファイルが生成されないのはなぜですか?

開発マシンでデバッグすると、Visual Studioはbinフォルダにapp.exe.manifestを生成します。これには、期待どおりのすべてのCOMレジストリ情報が含まれます。

ビルドをTFSから強制すると、このマニフェストはどこにも見つかりません。何故なの?

+0

これらのCOMコンポーネントはビルドサーバーに登録されていないため、私の推測になります。 –

答えて

0

これは、MSBuildがInteropアセンブリを検出できず、読み込めなかったコンポーネントのマニフェストファイルを生成しない非常に奇妙なシナリオでした。 しばらくの間、解決策はコンパイルされていました。最終的には、各プロジェクトアセンブリのGUIDが重複しているため、ビルドに失敗しました。どうやらこのGUIDは、プロジェクト内にCOM参照がある場合にのみ使用されます。すべてのプロジェクトGUIDを一意にすると、プロジェクトはコンパイルされ、ビルドサーバーで動作します。最初の場所でGUIDが一意に作成されなかった理由は不明です。

関連する問題