安装VS2012和.NET 4.5后,Visual Studio 2010和2012在调试我们的应用程序时开始挂起,致命错误0x8007000e。我知道这个错误意味着进程内存不足,我可以在任务管理器上看到devenv.exe进程内存不断增长,直到达到3GB的限制。此时发生异常。
在没有.Net 4.5的机器上,一切正常。我们的应用程序内置于.Net 4.0并迁移到.Net 4.5,这不是一个选项。 这有什么解决方法吗?我们想开始使用VS2012,但我们无法迁移.Net 4.5的所有应用程序。
感谢您的帮助,
Nuno Pereira
答案 0 :(得分:4)
如果您在.NET 4.5框架下运行,但在.NET 4中编译,则可能需要尝试将其添加到配置文件中:
<configuration>
<system.xml.serialization>
<xmlSerializer useLegacySerializerGeneration="true"/>
</system.xml.serialization>
</configuration>
正如我在此链接中所建议的那样:
答案 1 :(得分:3)
我收到了Kevin Halverson关于此问题的反馈。它似乎与XmlSerialization有关。生成静态序列化程序集可防止错误发生。可以使用'sgen.exe','svcutil.exe / t:xmlSerializer'或在Visual Studio中打开项目属性上的'generate serialization assembly'选项生成静态序列化程序集。
感谢Anand和Kevin提供的所有帮助。