マネージC++から使用しているC#comコンポーネントを開発しました。私の開発マシンでは、すべてが正常に機能します。しかし、ファイルを配布すると、コンポーネントが登録されていないというエラーが表示されました。dllでzippy32を試してみると、エラーが発生します(C#dllを登録できません)。このCOMdllを正しく登録するにはどうすればよいですか?
質問する
3494 次
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
于 2009-08-05T10:55:35.100 に答える