自定义RoleProvider和无法加载类型

本文关键字:加载 类型 RoleProvider 自定义 | 更新日期: 2023-09-27 18:10:55

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

分析器错误消息:无法加载类型"Classifieds"。网络提供商。ClassifiedsRoleProvider'

来源错误:

 <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"或其依赖项之一。系统找不到指定的文件。

自定义RoleProvider和无法加载类型

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

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

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