COMサービス(.exe)と対話するためのC#UIを構築しています。 VS2005 COMプロジェクトは、C#プロジェクトによって参照される有効なタイプライブラリ(TLB)を出力します。ただし、VS2005 C#プロジェクトでは、OLEオブジェクトビューアで検証したときにタイプライブラリが完全に有効であるように見えても、C#プロジェクトを構築するためにサービスが登録されている必要があります。COMサービスを最初に登録せずに.NET COMInteropプロジェクトを構築する
可能であれば、ビルドサーバーにサービスを登録しないでください。さらに、デバッグビルドではCOMオブジェクトをサービスとして登録することはできません。これは一般的にデバッグを行い、特にスタートアップコードを難しくします(F5 - デバッグを開始できません)。
これを機能させるにはどうすればよいですか? TypeLibだけを登録する必要がありますか?もしそうなら、なぜCOMInteropは正しくビルドするためにサービスやTLBを登録しなければならないのですか?(これはVS2005のWin2003上でコマンドラインツールがありますか?
私が正しく思い出すと、Win2003ファイアウォールのCOMオブジェクトを参照するC#Webサービスを構築しましたが、Win2000のファイアウォールCOMオブジェクトを参照するC#Webサービスを構築しましたが、Win2000(これはない)登録が必要なので、なぜ今これが問題になるのか理解できません。
答えをアップしましたが、タイプライブラリを登録する方が簡単でした。 –