“/”应用程序中的服务器错误。

配置错误

说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误消息: 未能加载文件或程序集“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 是自定义的一个链接字符串的名字。