2016-07-26 34 views
1

ASPクラシックアプリケーションで使用するためにC#でCOMオブジェクトを作成しました。/ codebaseを使用して登録すると動作しますが、使用しないと私の質問はなぜですかこのパラメータを使用する必要がありますか?それは私に将来何か問題を引き起こすことができますか?ASPクラシックで使用するC#COMを登録する

私はすでにgacutilを使って試していますが、/ codebaseを使わないとうまくいきますが、ASPで実行するとクラッシュします。

登録を解除するよい方法はありますか?私は/ uを使いましたが、/ codebaseを使って登録した後は、 "unregister"しても永遠に動作します。

答えて

2

引数なしでは、dllの場所はレジストリに書き込まれず、ローダーはdllを見つけることができません。

COMサーバーはレジストリのid(クラスIDまたはProgIDによって間接的にクラスIDにマップされます)によって検索されます。ローダは、クラスのファクトリ関数をホストするdllを見つける必要があります。 registry for given CLSIDとサーバー情報を取得します。

アセンブリをGACにインストールするときは、/codebaseは不要です。しかし、GACに登録するにはアセンブリをstrong-namedにする必要があります。そのため、特に開発時にはあまり便利ではありません。

+0

tksだから、/ codebaseなしで登録する理由は何ですか?どこにでも使用することができない場合 – Teta

+0

私は答えにこれに関する情報を追加しました。 –

関連する問題