4

我在 Visual Studio 2012 中打开并编辑了一个在 Visual Studio 2010 中开发的 ASP.NET MVC 3 应用程序。它在调试模式下工作正常,但是当我尝试发布它(发布模式)时,它失败并引发以下警告和错误。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "EntityFramework". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

error CS0234: The type or namespace name 'Infrastructure' does not exist in the namespace 'System.Data.Entity' (are you missing an assembly reference?)

error CS0246: The type or namespace name 'DbContext' could not be found (are you missing a using directive or an assembly reference?)

error CS0246: The type or namespace name 'DbModelBuilder' could not be found (are you missing a using directive or an assembly reference?)

error CS0246: The type or namespace name 'DbSet' could not be found (are you missing a using directive or an assembly reference?)

EntityFramework.dll 存在于 bin 文件夹中,并且安装了 EntityFramework 5.0。这可以解决吗?

迁移此项目时我做错了什么?微软表示从 VS 2010 升级到 VS 2012 http://msdn.microsoft.com/en-us/library/vstudio/jj161050.aspx#ASP时不需要修改。

4

1 回答 1

0

如果项目中有一个名为 packages.config 的文件,请打开它并删除对 EntityFramework 的引用(类似于<package id="EntityFramework" ... />)。还要从项目中删除对程序集的引用(选择“引用”下的程序集并将其删除)并从 bin 文件夹中删除程序集。

现在您可以使用包管理器重新安装包(右键单击项目并选择“管理 NuGet 包”)。

于 2013-08-04T07:27:28.927 回答