【发布时间】:2017-06-25 13:29:13
【问题描述】:
我希望我的 mvc 应用程序连接到 MySQL 数据库,我从早上开始执行了以下步骤,但缺少一些东西。
- 为
.Net安装了MySQL连接器(连接器ODBC5.3) - 已安装(
MySQL用于 Visual Studio 1.2.6) - 按照教程进行
https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/aspnet-identity-using-mysql-storage-with-an-entityframework-mysql-provider#configure-entityframework-to-work-with-a-mysql-database
- nuget 安装了 entityframework 6.1.3
现在当我运行网站并尝试注册时,它崩溃了
无法加载类型 'System.ComponentModel.DataAnnotations.Schema.IndexAttribute' 来自 程序集'EntityFramework,版本=6.0.0.0
我的 .csproj 文件包含
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="MySql.Data">
<HintPath>..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="MySql.Data.Entity, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL" />
<Reference Include="MySql.Data.Entity.EF6">
<HintPath>..\packages\MySql.Data.Entity.6.9.9\lib\net45\MySql.Data.Entity.EF6.dll</HintPath>
</Reference>
我的应用参考包括:
- 实体框架
- EntityFramework.SqlServer
- Microsoft.AspNet.Identity.EntityFramework
- MySql.Data
- MySql.Data.Entity.EF6
我也加了
-
MySql.Data.Entity来自(MySQLfor Visual Studio 1.2.6)中的程序集
我是 MVC 和 MySQL 的新手。所以,对可能出现的问题没有清晰的认识。
更新 有人在另一篇文章中建议我需要将其从 gacutil 中删除。现在 gacutil 说我需要管理员权限才能删除已经拥有的程序集。有解决方法吗?这是正确的解决方案吗?
【问题讨论】:
-
感谢 Ashish 的快速回复,但我不知道如何引用 6.1.3 而不是 6.0.0.0?在我的 .csproj 中它指向我想的最新的?
标签: mysql asp.net asp.net-mvc entity-framework gacutil