有时我在我的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目标,我无法删除。
你有什么想法,为什么问题仍然存在?
答案 0 :(得分:2)
不,您将项目的目标平台选择与您在计算机上安装的.NET的实际版本混淆。您执行不 4.5或4.5.1,4.5.2安装程序替换了这些版本。
更改项目设置无效,您仍然使用机器上的版本。只有你自己,4.5.2。项目设置仅对将要运行程序的其他计算机有效。当您以4.5.2为目标时,那些机器必须安装4.5.2。而且你的计划在他们没有的时候就不会运行。这几乎从未有用,只针对您所需的版本。使用4.5总是足够好,4.5.1和4.5.2中的api添加非常适中。
所以你仍然看到AVE发生,没有任何改变是完全正常的。