VbMyResourcesResXFileCodeGenerator生成System.OutOfMemoryException

时间:2013-01-25 22:38:45

标签: vb.net visual-studio-2010 build resources out-of-memory

最近我的VB.Net项目在构建时失败了,提出了一个说(大约)的对话框:

External Tool: VbMyResourcesResXFileCodeGenerator failed due to a System.OutOfMemoryException

我将这个问题和答案作为公共服务发布给未来的搜索者并遇到同样的问题 - 特别是因为要弄清楚这一点并不容易。

1 个答案:

答案 0 :(得分:0)

搜索解决问题的线索引导我提出这个问题:Visual Studio 2010 - (OutOfMemoryException) & (Memory increase in Ideal State) - 以及尝试Solution Load Manager减少内存使用的建议。只有加载失败的项目,在启动VS2010后,我才能成功执行“运行自定义工具”。在解决方案资源管理器上下文菜单中的resx文件上,然后构建应用程序。

然而,不久之后,构建开始无声地失败,就像这张海报的情况一样:Visual studio 2010 IDE build fails mysteriously with no errors or warnings在对他的问题的评论中,我找到了我的救赎:

  

您必须转到Visual Studio选项对话框并导航到项目和解决方案|构建并运行。将MSBuild项目构建输出详细程度更改为Detailed或Diagnostic,然后分析输出。这应该会给你一些根本原因的暗示。

一旦我这样做了,我就能再次看到resource.resx文件无法构建。

最终的问题原来是一个被遗忘的文件资源。我以前嵌入了一个文件作为资源,随后通过添加几个屏幕截图显着增加了该文件的大小。虽然我不再在代码中使用该文件,但我没有将其作为项目资源删除。这个文件的大小最终导致System.OutOfMemoryException和我看到的构建失败。从资源中删除文件后,可以按预期构建解决方案。