2016-10-20 11 views
0


C++ COMライブラリを使用するシンプルなasp.net Webサイトがあります。また、私たちはこのライブラリ(dllの作成者)のinteropを持っています。私たちのサイトでは、このinteropへの参照を追加し、たくさんのクラスを使用します。
WebサイトをローカルIISに公開すると、すべて正常に動作します。しかし、私がサイトをデバッグしようとしたり、IIS Expressで実行すると、ライブラリからCOMクラスのオブジェクトを作成するときに "クラスが登録されていません"というエラーが表示されます。
環境:Windows 2012 R2、.Net 4.6.2(以前のバージョンも使用しようとしました)、VS 2015(管理者として実行)、IIS 7.5。
私はウェブ開発で多くの経験をしておらず、何が起こっているのか理解できないので、助けを得ることは素晴らしいことです。デバッグ用Webサイトの場合、「クラスが登録されていません。」

+0

ユーザー権利問題のように聞こえます –

+0

私は管理者としてVSを実行します。何を指示してるんですか?いくつかのアカウントに偽装する? –

答えて

1

配備後、COM DLLを登録するためにregsvr32を呼び出す必要があります。 相互運用機能DLLをコピーするのに十分ではないが、さらにあなたはまた(デバッグ - >プロセスにアタッチプロセスにアタッチすることで、ローカルIIS上で、それをデバッグしようとすることができますCOM DLLをコピーします。regsvr32 -i comdll.dll

を呼び出して、マークチェックボックス「すべてのユーザーからのプロセスを表示」、w3wp.exe)

IIS Expressとクラスが登録されていません32/64ビットの問題があります。

+0

クラスがシステムに登録されています。レジストリに表示されます。サイトがローカルIISに公開されている場合は、すべて正常に動作します。 –

+0

そして私が単純なコンソールアプリケーションを作成したとき、それは動作しません(「クラスが登録されていません」というエラーが表示されます)。しかし、それはローカルIIS(x64)で動作し、それは私が夢中になります:) –

関連する問題