2

カスタム ロールとメンバーシップ プロバイダーを使用しています。どちらも名前空間にありますMyDomain.Infrastructure.Security

MyCustomMembershipProviderファイル名: MyCustomMembershipProvider.cs MyCustomMembershipRoleProviderファイル名: MyCustomMembershipRoleProvider.cs

webconfig 内で、次のような cytom プロバイダーを使用するようにセクションを構成しました。

<membership defaultProvider="MyCustomMembershipProvider">
  <providers>
    <clear/>
    <add name="MyCustomMembershipProvider"
         type="MyDomain.Infrastructure.Security"
         enablePasswordRetrieval="false"... />
  </providers>

<roleManager enabled="true"
             defaultProvider="MyDomain.Infrastructure.Security">
      <providers>
        <clear/>
        <add applicationName="/" name="MyCustomMembershipRoleProvider"
             type="MyDomain.Infrastructure.Security" />
      </providers>
    </roleManager>

ビルド時に同じ名前空間であっても、メンバーシップ プロバイダーではなく、ロール プロバイダーでエラーが発生します

エラーメッセージは次のとおりです。

パーサー エラー メッセージ: タイプ 'MyDomain.Infrastructure.Security' を読み込めませんでした。

54 行目:

<add applicationName="/" name="MyCustomMembershipRoleProvider"
     type="MyDomain.Infrastructure.Security" />

更新:以下の回答が示唆するように、次を追加しました

<add applicationName="/" name="MyDomain.Infrastructure.Security.MyCustomMembershipRoleProvider, MyDomain.Infrastructure.Security" type="MyDomain.Infrastructure.Security" />

しかし、エラーメッセージは同じままです。

ここで何か間違ったことをしていますか?

4

3 に答える 3

0

この問題を解決しました。フレームワークに違いがあり、私の mvc プロジェクトは .net Framework 4.0 にあり、プロバイダー ライブラリ プロジェクト ソリューションは .net Framework 4.5 にありました。カスタム プロバイダー ソリューションの .net フレームワークを 4.0 に変更することで、これを解決しました。

于 2014-03-19T06:46:52.793 に答える