C# 调试和发布版本之间缺少实体框架引用

C# 调试和发布版本之间缺少实体框架引用,c#,entity-framework-6,console-application,C#,Entity Framework 6,Console Application,调试版本和发布版本之间的区别以及引用的使用一定有我不理解的地方。我正在使用EntityFramework6连接到以前设置的数据库。当项目处于调试模式时,我能够成功地构建和运行该项目。如果我将其更改为release模式,我会立即得到生成错误,表明刚才存在的名称空间和类型不再存在。我检查了一下,据我所知,他们都以framework.NET4.5为目标,我发现这可能是其他人的问题。在我的解决方案资源管理器的“引用”下,我看不出有什么不同 我正在使用visual studio 2013。很乐意提供任何代

调试版本和发布版本之间的区别以及引用的使用一定有我不理解的地方。我正在使用EntityFramework6连接到以前设置的数据库。当项目处于调试模式时,我能够成功地构建和运行该项目。如果我将其更改为release模式,我会立即得到生成错误,表明刚才存在的名称空间和类型不再存在。我检查了一下,据我所知,他们都以framework.NET4.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的答案。对我来说,步骤如下:

  • 切换到调试模式
  • 重建解决方案-成功构建
  • 切换到释放模式
  • 重建解决方案-生成失败
  • solutionexplorer
    中,单击将不生成的项目(我的项目是一个单元测试项目)
  • 右键单击项目>
    管理NuGet软件包
  • 确保选择了安装的软件包
  • 选择实体框架
  • 单击卸载并关闭对话框
  • 单击解决方案资源管理器中的解决方案
  • 右键单击>
    管理解决方案的NuGet软件包
  • 确保选择了安装的软件包
  • 选择实体框架
  • 单击
    Manage
  • 确保导致问题的项目已检查
  • 单击
    OK
    并在安装后关闭对话框
  • 单击解决方案资源管理器中的解决方案
  • 右键单击“重建解决方案”
  • 现在我可以在
    Debug
    Release
    之间切换,而不会导致编译失败。我希望这有帮助

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

    Ok@Dim和@Oompiet的答案是正确的,但通过Package Manager控制台可以很容易地做到这一点:

    Update-Package -reinstall EntityFramework
    
    这将在解决方案级别完成,或者如果您想在项目级别完成,只需执行以下操作:

    Update-Package -reinstall EntityFramework -p <YouProjectName>
    
    更新包-重新安装EntityFramework-p
    
    在调试模式下,程序集(pdb文件)有额外的信息

    这允许应用程序获取额外的依赖项

    在发布模式中,没有这样的东西,因此必须引用程序集


    从@Dib执行步骤10到18将解决此问题。

    您的配置文件,看看是否可以展开它,发布版和调试版将有2个配置。检查一下,我也有同样的问题。如果你找到解决方案,请告诉我。同上。解决方案将在调试模式下生成,但不会在发布模式下生成。Entity framework是通过Nuget Package Manager安装到解决方案中的。请参阅我是如何按照@OomPiet的建议解决它的。虽然这可能会解决OP的问题,但最好详细说明您的答案,并给出详细的步骤。这解决了我的问题,我的答案中详细介绍了我的步骤。老兄,您救了我一天。。当我遇到这个问题时,我简直不敢相信自己的眼睛。在垃圾中呕吐-然而,只是为了完成您已经完美的答案:如果导致这些问题的项目是唯一使用EF的项目,那么在步骤14中,
    Manage
    将无法再看到该框架。只需搜索EF,然后在发布模式下在项目中安装它。这也将解决这个问题。公正的评论。我将编辑我的答案和引用,并参考您的评论。谢谢你的补充信息。