2

.Net 3.5を使用して、C#でCOM相互運用機能が有効なクラスライブラリを作成しました。このオブジェクトは、従来のASPページにいくつかのユーティリティ関数を提供することを目的としています。目的のオブジェクトをインスタンス化し、そのメソッドを呼び出すtest.aspページを作成しました。私のマシンでは問題なく動作します。

別のマシン(Windows Server 2003-Standard Edition)では、アセンブリがregasmに正しく登録されていても機能しません。regeditを確認しましたが、問題ないようです。

私が得ているエラーは「ASP0177」(エラーコード)、「8000ffff; Server.CreateObject-Fehler」(エラーの説明)で、これはServer.CreateObject-Errorに変換されます。

ところで。アセンブリは署名されており、依存関係として他のカスタムビルドアセンブリはありません(システムのものだけです)。

誰かが似たようなことを経験しましたか?

4

3 に答える 3

6

IUSRユーザー(またはIISユーザーが誰でも)に次のレジストリキーへの読み取りアクセスを許可すると、私に代わって問題が解決しました。

HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
于 2009-10-07T08:21:40.977 に答える
2

これはセキュリティの問題だと思います。自分のPCでコンポーネントを開発してテストしたようですが、サーバー(例としてVisual Studioがインストールされている)とは多くの違いがあります。


編集:このMicrosoftの「ホットフィックスホットフィックス」をご覧ください。

于 2009-10-05T09:53:23.040 に答える
1
  • 次のレジストリサブキーを見つけてクリックします:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701
  • 注FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701サブキーが存在しない場合は、手動で作成する必要があります。64ビットOSを使用している場合は、代わりにHKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl\FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701を使用する必要があります。
  • FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701を右クリックし、[新規作成]をポイントして、[DWORD値]をクリックします。
  • w3wp.exeと入力して新しいレジストリエントリに名前を付け、Enterキーを押します。
  • w3wp.exeを右クリックし、[変更]をクリックします。
  • [値のデータ]ボックスに1と入力し、[OK]をクリックします。

このレジストリキーを設定した後、アプリプールを再起動するだけで変更が適用されます。.NET COMコンポーネントは、アプリケーションプールをシャッフルする以外に、実際のソリューションなしでランダムに動作を停止することはなくなりました。

于 2012-12-26T13:08:33.407 に答える