質問

Managed C ++から使用しているC#comコンポーネントを開発しました。すべてが正常に動作するとき、私の開発マシンで。しかし、ファイルを配布すると、コンポーネントが登録されていないというエラーを受け取りました。 dllでregsvr32を試行すると、エラーが発生します(C#dllを登録できません)。このCOM dllを正しく登録するにはどうすればよいですか?

役に立ちましたか?

解決

regasm を< code> / codebase (ComVisibleである必要があります[ただし、 Patrick McDonald が正しく出力されるため、ローカルで機能するため、すでにそれを過ぎています])

他のヒント

アセンブリがGAC(グローバルアセンブリキャッシュ)にインストールされていない場合は、siwtch / codebase でRegAsmを使用します。

その他のスイッチの詳細はこちら

通常行う必要があることがわかります:

regasm /codebase

COMはアセンブリを読み込むためにアセンブリの正確な位置を知る必要があるため。

他の人が示唆しているように、C#プロジェクトをCOM可視として設定する必要があります(プロジェクト設定、アプリケーション、アセンブリ情報ボタン)。

各クラスの前に[ComVisible(true)] / [ComVisible(false)]属性を使用して、クラスを表示するかどうかの詳細な制御を取得できます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top