我在使用网站项目和实体框架 5 时遇到问题。
我先说一下背景:项目类型是网站,不是Web应用程序或MVC,所以在部署时,我只是简单地将所有文件复制到服务器,并在第一次访问时编译所有文件。这就是我认为造成问题的原因。
该项目的目标是 .Net 4.0,所以当我从 nuget 安装 EntityFramework 时,dll 文件版本是 4.4。使用 IIS Express 从 VisualStudio 运行项目很好(因为 VisualStudio 知道目标框架是 4 并使用 .Net framework 4 dll 编译项目)但是当将文件复制到安装了 .Net framework 4.5 的生产服务器时,首先访问到达时,该网站是针对 .Net 框架 4.5 dll 编译的,并且出现了一个问题,因为 EntityFramework 4.4 包含类的定义(如 Column ),这些定义也包含在 .Net 4.5 的数据注释 dll 中。
The type 'System.ComponentModel.DataAnnotations.Schema.ForeignKeyAttribute' exists in both 'c:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll' and 'c:\Users\jyuste\AppData\Local\Temp\Temporary ASP.NET Files\portalempleado\4700d3ec\2c948b16\assembly\dl3\1c8b81c9\750c5018_1e5dce01\EntityFramework.DLL'
我想将项目升级到 .Net 4.5 并更新 EntityFramework 参考可以解决问题,但我现在做不到。
您认为还有其他解决方案吗?