1

私の TFS チームビルド セットアップの一部として、C# メイン アプリケーションで使用される VB6/ActiveX ライブラリをビルドします。最近まで、ビルド サーバーから VbLib のコピーを取得し、TlbImp を使用して Vb6lib の相互運用を生成し、ソリューションでその相互運用を参照していました (相互運用は TFS にコミットされています)。WiX を使用してアプリを展開し、最近まですべて正常に動作していました。ただし、展開時に、アプリは相互運用機能を介して VB6 lib を認識しておらず、ソリューションを Vb6Lib に直接リンクする (つまり、相互運用機能がない) 場合にのみ機能します。他の開発者に再リンクを強制する変更。

それで...私の相互運用で何がうまくいかなかったのですか?

私は相互運用機能を手動で生成してチェックしています。これをビルドプロセスの一部として自動化したいのですが、何かアイデアはありますか? これは良い習慣ですか?

4

1 に答える 1

0

修正するために、vbp でバイナリ互換性を有効にし (再コンパイル時に lib の GUID が変更されないように)、vb lib を直接参照するようになりました (したがって、VS が独自の相互運用機能を生成できるようになります)。チームの誰かが、ある時点でバイナリ互換性をオフにして vbp をコミットした可能性がありますが、AFAICT のバージョン管理履歴ではこれが確認されていないため、以前は機能していたのに停止した理由はわかりません。

于 2012-11-20T13:54:24.283 に答える