9

安装 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。

谢谢您的帮助,

努诺佩雷拉

4

2 回答 2

4

如果您在 .NET 4.5 框架下运行,但在 .NET 4 中编译,您可能想尝试将其添加到您的配置文件中:

<configuration>
  <system.xml.serialization>
    <xmlSerializer useLegacySerializerGeneration="true"/>
  </system.xml.serialization>
</configuration>

正如在此链接中向我建议的那样:

.NET 4.5 中的序列化中断

于 2013-02-05T16:32:31.033 回答
3

我收到了 Kevin Halverson 关于这个问题的反馈。好像和XmlSerialization有关。生成静态序列化程序集可防止错误发生。可以使用“sgen.exe”、“svcutil.exe /t:xmlSerializer”或通过在 Visual Studio 中打开项目属性的“生成序列化程序集”选项来生成静态序列化程序集。

感谢 Anand 和 Kevin 提供的所有帮助。

于 2013-01-22T14:05:49.603 回答