0

我正在开发一个使用非托管 C++ 库的小型 C# winforms 应用程序。我无权访问该库的代码。

如果我在 Visual Studio 中并且运行我的应用程序,请调用库,一切正常。一旦我运行 CTRL + F5 我得到一个 AccessViolationException。我做了一些测试,在 .NET 2.0 中创建了另一个 winforms 应用程序(其他的在 .NET 4.0 中),但我没有收到 AccessViolationException。所以我想我会在我的 .net 4.0 解决方案中创建一个 .net 2.0 类库并使用该类库。这没有帮助,我仍然有 AccessViolationException。

尝试设置允许不安全的代码,打开和关闭优化代码,但这没有帮助。为什么退出调试模式后会出现 AccessViolationException?

谢谢

4

1 回答 1

0

我只是偶然发现了同样的问题。为了在调试器中重现问题,我不得不去:

工具\选项调试\常规

和禁用:抑制模块加载时的 JIT 优化(仅限托管)。

当然,问题只会出现在优化的代码中。

于 2010-09-24T22:41:17.927 回答