我的 C# 代码仅在调试时抛出 ExecutionEngineException。当我从 Visual Studio 运行它而不进行调试(按“不调试开始”)按钮时,这段代码可以正常工作。但是当我从 Visual Studio 调试它时,它会抛出 ExecutionEngineException。
由于这个问题,我无法调试我的应用程序,因为我尝试调试的代码是在有问题的代码之后执行的。
以下是一些细节:
- 我正在使用 Visual Studio 2012
- 主应用程序是调用我的 C# 代码的 C++/CLI 应用程序
- 应用程序运行一段时间,直到它到达 C# 中有问题的代码行
- 相关代码是针对实体框架上下文的查询。
- 我正在使用实体框架 5
- 存储我的实体的数据库是 SQL Server LocalDB(VS2012 自带的那个)
编辑
进一步调查表明,实际问题是源自 System.Data.DataSet 的默认构造函数的访问冲突异常,如果我只写new DataSet()
.
编辑 2 我创建了一个小应用程序来演示这个问题。源代码可以在这里找到。
欢迎您编译它并尝试运行该项目Application
。创建新Adder.cs
的. 请注意,调试器应该是混合的,而不是托管/原生的。ExecutionEngineException
DataSet