0

我希望我的 mvc 应用程序连接到MySQL数据库,并且从早上开始我已经完成了以下步骤,但是缺少一些东西。

  1. 已安装MySQL的连接器.Net(连接器ODBC5.3)
  2. 已安装(MySQL适用于 Visual Studio 1.2.6)
  3. 按照教程 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

现在当我运行网站并尝试注册时,它崩溃了

无法从程序集“EntityFramework,版本=6.0.0.0”加载类型“System.ComponentModel.DataAnnotations.Schema.IndexAttribute”

我的 .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来自(MySQL对于 Visual Studio 1.2.6)中的程序集

我对 MVC 和MySQL. 所以,对可能出现的问题没有清晰的认识。

更新有人在另一篇文章中建议我需要将其从 gacutil 中删除。现在 gacutil 说我需要管理员权限才能删除已经拥有的程序集。有解决方法吗?这是正确的解决方案吗?

4

1 回答 1

0

好吧,我尝试的更新是正确的。所以问题是我在 gac 中有一个版本为 6.0.0.0 的重复 EntityFramework dll。为此,我必须右键单击命令提示符并选择“以管理员身份运行”,然后尝试卸载 dll。

繁荣!!这就是我所缺少的。

于 2017-02-10T02:43:33.537 回答