自定义RoleProvider和无法加载类型

时间:2013-04-26 09:50:41

标签: c# asp.net .net asp.net-mvc

我有自定义成员资格和角色提供程序,在调试时我遇到了以下错误:

分析程序错误消息:无法加载类型' Classiffieds.WebProviders.ClassiffiedsRoleProvider'。

来源错误:

 <add applicationName="/" 
      name="ClassiffiedsRoleProvider" 
      type="Classiffieds.WebProviders.ClassiffiedsRoleProvider" />

Web.config设置如下

<roleManager enabled="true" defaultProvider="ClassiffiedsRoleProvider">
   <providers>
      <clear />
      <add applicationName="/" 
            name="ClassiffiedsRoleProvider" 
            type="Classiffieds.WebProviders.ClassiffiedsRoleProvider" />
      </providers>
</roleManager>

ClassifiedsRoleProvider.cs

namespace Classiffieds.WebProviders
{
    public sealed class ClassiffiedsRoleProvider: RoleProvider
    ...
}

我在这里做错了什么?

由于

更新:     自定义角色提供程序位于具有

的独立项目Classiffieds.WebProviders
ClassName: ClassiffiedsRoleProvider

AssemblyName: Classiffieds.WebProviders

建议之后我尝试了以下

<add applicationName="/" 
    name="ClassiffiedsRoleProvider" 
    type="Classiffieds.WebProviders.ClassiffiedsRoleProvider,Classiffieds.WebProviders" />

但错误信息仍然存在 分析器错误消息:无法加载文件或程序集&#39; Classiffieds.WebProviders&#39;或其中一个依赖项。系统找不到指定的文件。

2 个答案:

答案 0 :(得分:9)

您的提供商很可能在另一个程序集中。提供全名

type="Classiffieds.WebProviders.ClassiffiedsRoleProvider, name.of.your.assembly.without.dll"

答案 1 :(得分:2)

如果您在App_Code文件夹中有角色提供程序类,则需要将类文件的“Build Action”属性更改为“compile”。