3

我有自定义成员资格和角色提供者,在调试时出现以下错误:

解析器错误消息:无法加载类型“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" />

但错误消息仍然存在解析器错误消息:无法加载文件或程序集“ Classiffieds.WebProviders”或其依赖项之一。该系统找不到指定的文件。

4

2 回答 2

9

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

type="Classiffieds.WebProviders.ClassiffiedsRoleProvider, name.of.your.assembly.without.dll"
于 2013-04-26T09:52:48.943 回答
2

如果 App_Code 文件夹中有角色提供程序类,则需要将类文件的“构建操作”属性更改为“编译”。

于 2013-11-20T14:52:28.650 回答