最近我的 VB.Net 项目在构建时失败了,引发了一个对话框(大约):
External Tool: VbMyResourcesResXFileCodeGenerator failed due to a System.OutOfMemoryException
我将这个问题和答案作为公共服务发布给未来有同样问题的搜索者 - 特别是因为它不容易弄清楚。
最近我的 VB.Net 项目在构建时失败了,引发了一个对话框(大约):
External Tool: VbMyResourcesResXFileCodeGenerator failed due to a System.OutOfMemoryException
我将这个问题和答案作为公共服务发布给未来有同样问题的搜索者 - 特别是因为它不容易弄清楚。
寻找解决问题的线索将我引向这个问题:Visual Studio 2010 - (OutOfMemoryException) & (Memory increase in Ideal State) - 以及尝试使用解决方案负载管理器以减少内存使用的建议。仅加载失败的项目后,在启动 VS2010 后,我可以从解决方案资源管理器上下文菜单中成功地对 resx 文件执行“运行自定义工具”,然后构建应用程序。
然而,不久之后,构建开始默默地失败,就像这张海报的情况一样:Visual Studio 2010 IDE 构建神秘地失败,没有错误或警告 在对他问题的评论中,我找到了我的救赎:
您必须转到 Visual Studio 选项对话框并导航到项目和解决方案 | 构建并运行。将 MSBuild 项目构建输出详细程度更改为详细或诊断,然后分析输出。这应该给你暗示什么是根本原因。
一旦我这样做了,我就可以再次看到无法构建 resource.resx 文件。
最终的问题是一个被遗忘的文件资源。我之前将一个文件作为资源嵌入,随后通过添加几个屏幕截图显着增加了该文件的大小。尽管我不再在代码中使用该文件,但我并没有将其作为项目资源删除。正是这个文件的大小最终导致了System.OutOfMemoryException
我看到的构建失败。一旦我从资源中删除了文件,就可以按预期构建解决方案。