gpt4 book ai didi

memory - MSBuild需要3倍于Visual Studio的内存才能进行干净的构建

转载 作者:行者123 更新时间:2023-12-01 06:12:13 24 4
gpt4 key购买 nike

我们有一个Visual Studio 2005解决方案,其中包含50个项目(主要是类库和一些Win Form项目)。

使用新近启动的Visual Studio峰值内存使用情况(由任务管理器记录)进行干净的调试构建,大约显示500mb。

使用MSBuild进行相同的构建(清理,调试),峰值内存使用量约为1600mb,最终会因OutOfMemory异常而失败。

这是我正在执行的命令:

MSBuild LargeProject.sln / target:clean; build / nologo / property:Configuration = debug / verbosity:minimal

两者都在装有Windows XP Professional 32位和2GB物理内存的PC上运行。

我发现此MSDN article描述了在Visual Studio和MSBuild中进行构建之间的区别,但是没有解释为什么该构建需要3倍的内存。

有谁知道为什么会这样吗?如果可以采取某些措施来减少MSBuild的内存需求。

最佳答案

我从Visual Studio解决方案中删除了几乎所有其他项目都引用的项目。然后更改项目以引用项目的dll而不是项目。这将MSBuild的内存使用量从1600mb降低到了1200mb(相差400mb),并成功了。

删除的项目不是很大,大约有5个类,最终的调试dll为40kb,发行版本为28kb。该项目有3个引用Microsoft.VisualBasic.Compatibility,System和System.Windows.Forms。

我尝试从解决方案中删除引用较少的其他项目,但MSBuild仍然因OutOfMemory异常而失败。

关于memory - MSBuild需要3倍于Visual Studio的内存才能进行干净的构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1236153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com