IIS は Oracle.Web アセンブリをロードできません (ASP.NET メンバーシップ プロバイダー用)

IIS は Oracle.Web アセンブリをロードできません (ASP.NET メンバーシップ プロバイダー用)

ASP.NET メンバーシップに Oracle データベースを使用するように IIS Web サイトを構成しようとしていますが、うまくいきません。IIS は、Oracle メンバーシップ プロバイダーを含むアセンブリを読み込むことができないようです。

今のところ私が持っているのはこれです:

  • Oracle 10g データベースがオンラインになり、ASP.NET メンバーシップのすべてのテーブルが作成されました。
  • ASP.NET のサポートを含む、Web サーバー ロールがインストールされた Windows 2008 R2 Standard。
  • Oracle 11g リリース 2 ODAC 11.2.0.1.2インストールされています。インストールされるコンポーネントは、Oracle データ プロバイダー for .NET、Oracle プロバイダー for ASP.NET、Oracle インスタント クライアントです。
  • IIS の既定の Web サイト (テスト用に使用しています) には、次のweb.configファイルがあります。
<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.web>
                <membership defaultProvider="OracleMembershipProvider">
                <providers>
                    <remove name="SqlMembershipProvider" />
                    <add name="OracleMembershipProvider" 
type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342"
connectionStringName="OracleServer" />
                </providers>
            </membership>
        </system.web>
    </configuration>

(簡潔にするために、「add」要素の追加属性は省略されています。また、接続文字列はサーバー全体に対して定義されています。)

  • Oracle.Web.dll ファイルは GAC にあります。これがC:\Windows\Assemblyフォルダの関連部分です:

Oracle.Web、2.112.1.2、カルチャなし、89b483f429c47342、x86

  • Web サイトのアプリケーション プールは .NET 2.0 用に構成されており、32 ビット アプリケーションが有効になっています。
  • IISadministration.configファイルで信頼されていないプロバイダーを許可しました (テストのためだけに、後でアセンブリを信頼できるプロバイダー リストに明示的に追加します)。

この設定をすべて行った後、IIS マネージャーの「.NET ユーザー」アイコンをクリックすると、プロバイダーの権限が多すぎるという警告が表示され、同意すると次のメッセージが表示されます。

この操作の実行中にエラーが発生しました。

詳細:

ファイルまたはアセンブリ 'Oracle.Web、バージョン = 2.112.1.2、カルチャ = ニュートラル、PublicKeyToken = 89b483f429c47342' またはその依存関係の 1 つをロードできませんでした。指定されたファイルが見つかりません。

では、何が足りないのでしょうか? Oracle メンバーシップ プロバイダーを動作させるにはどうすればよいのでしょうか?

ありがとう!

アップデート:問題は IIS 自体ではなく、IIS 管理者だけにあるようです。Visual Studio が提供する Web サイト構成ツールを使用すると、すべて正常に動作します。

関連情報