membership 启用 roleManager 抛出异常:未能加载文件或程序集MySql.Web

在vs2013中新建一个ASP.NET MVC 4 WEB 应用程序,使用“基本”模板。web.config中默认使用forms认证方式,并添加了membership的配置。

   <roleManager defaultProvider="DefaultRoleProvider" enabled="true">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </roleManager>

默认是没有enabled属性的,它继承C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config里的配置是false。如果改成enable=“true”,那么站定启动时也会查找machine.config配置文件中的<roleManager>配置节。

<roleManager>
            <providers>
                <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/>
            </providers>
        </roleManager>

如果你恰巧也安装过MySQL Connector Net,恭喜你中奖了,运行站点会收到如下异常:

分析器错误消息: 未能加载文件或程序集“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 

根据mysql官方的说明是 “Currently, MySQL Connector/Net provides Membership, Role, Profile and Session State Providers.”,也就是说在安装mysql Connector 的时候默认安装了这个provider,并且修改了machine.config文件。

要想程序不报错有两种处理方式:

1.在控制面板->程序中找到MySQL Connector Net,修改移除Web Providers

2.把 C:\Program Files (x86)\MySQL\Connector NET 6.7.4\Assemblies\v4.0 下的几个类库MySql.Data.dll、MySql.Web.dll、MySql.Data.Entity.dll 拷贝到站点的bin目录下

参考:

1. How to Connect to MySQL Using C#

2. roleManager

时间: 2024-10-20 00:13:26

membership 启用 roleManager 抛出异常:未能加载文件或程序集MySql.Web的相关文章

未能加载文件或程序集“MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项。系统

"/"应用程序中的服务器错误. 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息: 未能加载文件或程序集"MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"或它的某一个依赖项.系统找不到指定的文件. 源错误: 行 263: <add name="AspNetSqlRol

未能加载文件或程序集“MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项。系统找不到指定的文件

未能加载文件或程序集“MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项.系统找不到指定的文件 用mysql时提示这个错误,百度半天,后来好不容易搜到这个解决方法 修改 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 与 C:\Windows\Microsoft.NET\Frame

关于 未能加载文件或程序集“MySql.Web.v20 ...... 的问题

今天安装 MySQL for Visual Studio .在点  MySQL Website Configuration Tool  按钮的时候, 报错了. 提示是 未能加载文件或程序集“MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项.系统找不到指定的文件. baidu 查询了一下,解决办法是: 修改C:\Windows\Microsoft.NET\Framew

关于 未能加载文件或程序集“MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项。系统找不到指定的文件。

我这个项目是MVC4的,有两个版本,第一个版本直接运行没什么问题,但是跑第二个版本的时候就给我提示这个错误.好吧,百度果然是万能的.下边是解决方案. 1.找到 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config这个鬼东西,然后把里面的MySql.Web.v20改成MySql.Web,保存可以.(记得先复制一个版本放着,谁知道可不可行?) 2.到控制面板里面把MySQL改一下.找到下面这个叫mySQL Connec

未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项。文件或目录损坏且无法读取。

“/”应用程序中的服务器错误. 未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项.文件或目录损坏且无法读取. (异常来自 HRESULT:0x80070570) 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“System.Web.Razor”或它的某一个依赖项.文件或目录损坏且无法读取.

配置错误_未能加载文件或程序集“System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。

配置错误 “/”应用程序中的服务器错误. 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息: 未能加载文件或程序集“System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项.系统找不到指定的文件. 源错误: 行 19: <add assembly="System.Web.Abstract

未能加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件

ASP.NET 运行时错误:针对类型System.Web.Mvc.PreApplicationStartCode的应用程序邓启动初始化方法Start 引发了异常,显示下列错误消息: 未能加载文件或程序集"System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"或它的某一个依赖项.系统找不到指定的文件 aspx项目,加cshtml 后删 除cshtml 少这三

未能加载文件或程序集&ldquo;System.Web.Http.WebHost, Version=4.0.0.0, &rdquo;或它的某一个依赖项。系统找不到指定的文件。

一:错误提示 "未能加载文件或程序集"System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"或它的某一个依赖项.系统找不到指定的文件." "未能加载文件或程序集"System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e

未能加载文件或程序集“Oracle.Web, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项

当前系统环境描述: Win7x64+VS2012+IIS7 当前情况描述: 发布Web服务,在浏览的时候出现以下问题:未能加载文件或程序集“Oracle.Web, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项.系统找不到指定的文件. 解决方法: 相应的将目录:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG下的machine.c