c# - Entity Framework 引用在调试和发布构建之间丢失

标签 c# entity-framework-6 console-application

在调试版本和发布版本之间的区别及其引用的使用中,肯定有一些我不明白的地方。我正在使用 Entity Framework 6 连接到先前已设置的数据库。我能够在 Debug模式下成功构建和运行项目。如果我将其更改为 Release模式,我会立即收到构建错误,指示无法再找到原来的 namespace 和类型。我检查了一下,据我所知,他们都以 .Net 4.5 为目标框架,我发现这对其他一些人来说可能是个问题。我看不出我的解决方案资源管理器中引用下列出的内容有什么不同。

我正在使用 visual studio 2013。很乐意提供任何代码,但我不知道什么是最相关的。

我遇到的一些错误:

The type or namespace name 'Entity' does not exist in the namespace    System.Data' (are you missing an assembly reference?) in Holds.Context.cs
The type or namespace name 'DbContext' could not be found (are you missing a using directive or an assembly reference?) in Holds.Context.cs
The type or namespace name 'DbSet' could not be found (are you missing a using directive or an assembly reference?) in Holds.Context.cs 

感谢您提供的任何指导。

最佳答案

为了解决这个问题,我使用了@OomPiet 的回答。对我来说,步骤如下:

  1. 切换到 Debug模式
  2. 重建解决方案 - 构建成功
  3. 切换到 Release模式
  4. 重建解决方案 - 构建失败
  5. Solution Explorer 中点击不会构建的项目(我的是一个单元测试项目)
  6. 右键单击项目 > 管理 NuGet 包
  7. 确保选择了Installed packages
  8. 选择EntityFramework
  9. 点击卸载并关闭对话框
  10. Solution Explorer 中单击 Solution
  11. 右键单击 > 管理解决方案的 NuGet 包
  12. 确保选择了Installed packages
  13. 选择EntityFramework
  14. 点击管理
  15. 确保引起问题的项目得到检查
  16. 安装后点击OK并关闭对话框
  17. Solution Explorer 中单击 Click on Solution
  18. 右键单击“重建解决方案”

现在我可以在 DebugRelease 之间切换,编译不会失败。希望对您有所帮助

编辑: 如果您只有一个项目使用 EF,请参阅下面的 @LuckyLikey 评论,他说改为搜索 EF,并将其安装在该项目中

关于c# - Entity Framework 引用在调试和发布构建之间丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30596832/

相关文章:

c# - 需要具有 4 部分目录结构的 MVC3 项目示例,可能使用站点地图

c# - EntityFramework 中的 TransactionScope TransactionInDoubtException

ef-code-first - 使用 Entity Framework Code First 中的列名称属性从存储过程进行对象映射

.net - 启动 .NET 控制台应用程序时会发生什么?

c# - 如何获取放置到控制台应用程序窗口中的项目的文件路径?

c# - 使用适配器模式的一些情况或案例

c# - 如何从 C# 调用 C++ native 属性

c# - 固定一个函数指针

c# - 在发现 'EFConfiguration' 类型之前使用的 DbConfiguration 实例

c# - .net 控制台应用程序在连续打印出大量字符时停止响应