“/”应用程序中的服务器错误。
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误消息: 未能加载文件或程序集“MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项。系统找不到指定的文件。
源错误:
行 263: <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
行 264: <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
行 265: <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
行 266: </providers>
行 267: </roleManager>
源文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 行: 265
个人猜测:可能是由于在web.config中打开了额roleManager功能,但是却没有定义provider,而machine.config中定义的provider都是无效的,于是遍历到最后一个provider,也就是265行的时候就报错了。
解决方法:在web.config中定义一个有效的provider
<roleManager defaultProvider="SqlProvider" enabled="true" cacheRolesInCookie="true" > <providers> <clear /> <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="LessonraAuthorization" /> </providers> </roleManager>其中
connectionStringName
是自定义的一个链接字符串的名字。