1

マネージC++から使用しているC#comコンポーネントを開発しました。私の開発マシンでは、すべてが正常に機能します。しかし、ファイルを配布すると、コンポーネントが登録されていないというエラーが表示されました。dllでzippy32を試してみると、エラーが発生します(C#dllを登録できません)。このCOMdllを正しく登録するにはどうすればよいですか?

4

4 に答える 4

2

あなたはregasmを使用し/codebaseます(そしてそれはComVisibleである必要があります[しかしPatrick McDonaldが正しくpoinhtsするので、それがローカルで動作するのであなたはすでにそれを乗り越えています])

于 2009-08-05T10:54:41.483 に答える
1

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

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

于 2009-08-05T10:57:28.527 に答える
1

私はあなたが通常する必要があると思います:

regasm /codebase

COMは、アセンブリをロードできるようにするために、アセンブリの正確な場所を知る必要があるためです。

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

各クラスの前に[ComVisible(true)] / [ComVisible(false)]属性を使用すると、どのクラスが表示されるか、または表示されないかをより細かく制御できます。

于 2009-08-05T11:00:31.580 に答える
0

アセンブリ登録ツール(Regasm.exe)を使用する

于 2009-08-05T10:55:35.100 に答える