使用目标框架 .Net 4.5.2 获取 System.AccessViolationException

Getting a System.AccessViolationException with targeting framework .Net 4.5.2

有时我在 C# 应用程序中得到 System.AccessViolationException,在 .Net 4.5.2 上得到 运行。看来,这个问题只出现在Visual Studio 2013年的调试过程中。

对于 .Net 4.5.1,我每天都会遇到好几次同样的问题。由于 Microsoft .Net bug 819552,我将项目迁移到 .Net 4.5.1。一个月没出现这个问题。不幸的是,如上所述,我刚刚在 .Net 4.5.2 上遇到了 AccessViolationException。

安装了以下 .Net 框架:

我需要不同的 .Net 目标,但无法删除。

您有什么想法,为什么问题仍然出现?

不,您将项目的目标平台选择与您在计算机上安装的实际 .NET 版本混淆了。您 没有 有 4.5 或 4.5.1,4.5.2 安装程序替换了这些版本。

更改项目设置没有效果,您仍然使用机器上的版本。 4.5.2 是您唯一拥有的。项目设置仅对 other 机器有影响,这些机器将 运行 您的程序。当您以 4.5.2 为目标时,这些机器必须安装 4.5.2。当他们不这样做时,您的程序将不会 运行。这几乎没有用,只针对您 需要 的版本。使用 4.5 总是足够好,4.5.1 和 4.5.2 中的 api 添加非常适度。

所以你仍然看到 AVE 发生是完全正常的,没有任何改变。