【问题标题】:Could not load type '...' from assembly 'System.Web, ...'无法从程序集“System.Web,...”加载类型“...”
【发布时间】:2016-01-02 01:27:40
【问题描述】:
<system.web>
    <profile defaultProvider="TestProfileProvider" inherits="Test.Library.UserAccountProvider.TestUserProfile">
      <providers>
        <add name="TestProfileProvider" type="Test.Library.UserAccountProvider.TestProfileProvider, , Test.Library.UserAccountProvider" connectionStringName="SecurityContext" applicationName="Sigma" applicationContext="XpressPago" />
      </providers>
    </profile>
    <membership defaultProvider="TestMembershipProvider">
      <providers>
        <add name="TestMembershipProvider" type="Test.Library.UserAccountProvider.TestMembershipProvider, Test.Library.UserAccountProvider" connectionStringName="SecurityContext" passwordFormat="Clear" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="3" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="Sigma" PasswordResetLimit="45" applicationContext="XpressPago" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="TestRoleProvider">
      <providers>
        <add name="TestRoleProvider" type="Test.Library.UserAccountProvider.TestRoleProvider" connectionStringName="SecurityContext" applicationName="Sigma" applicationContext="XpressPago" />
      </providers>
    </roleManager>
    <httpRuntime executionTimeout="90" maxRequestLength="1048576" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>
    <machineKey validationKey="196975F087819B74AC983A6D0882E5936BD0F30915A770C58E1177505D72D46F2D6F50BDB35DDF4E904AE01FD3E62726A6E63ADED231644D2D2E595A84AA76B2" decryptionKey="4496E865CAED30BA35BE7B60A06023CC3A13422F15060346" validation="SHA1" />
  </system.web>

TestMembershipProvider 没有显示任何错误,但TestUserProfile 显示以下错误:

无法加载类型 来自程序集的“Test.Library.UserAccountProvider.TestUserProfile” 'System.Web,版本=4.0.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。

关于声明return (TestUserProfile)Create(username);

【问题讨论】:

    标签: c# asp.net-mvc app-config .net-assembly membership-provider


    【解决方案1】:

    如果它是你的类的位置,也许你应该在 name="TestProfileProvider" 行的 'type' 属性的末尾添加完整的程序集名称 (", Test.Library.UserAccountProvider")?

    像这样:

      <add name="TestProfileProvider" type="Test.Library.UserAccountProvider.TestProfileProvider, Test.Library.UserAccountProvider" connectionStringName="SecurityContext" applicationName="Sigma" applicationContext="XpressPago" />
    

    'inherits' 属性也是如此:

       <profile defaultProvider="TestProfileProvider" inherits="Test.Library.UserAccountProvider.TestUserProfile, Test.Library.UserAccountProvider">
    

    我认为 Create 不会在哪里选择类,因为它会在“System.Web”中尝试。
    当然,我认为 Test.Library.UserAccountProvider 是正确的程序集名称,如果需要,请修复它...

    【讨论】:

    • 在您的错误消息中,您可以看到在“System.Web”而不是您自己的程序集中尝试了类型加载,这就是我建议的原因。也许“继承”指令也需要一些改变。由于您没有提供很多细节,因此很难为您提供准确的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2018-06-02
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2010-09-19
    • 2017-11-26
    • 2020-11-26
    相关资源
    最近更新 更多