Command line 使用MSBuild.exe进行增量生成

Command line 使用MSBuild.exe进行增量生成,command-line,msbuild,incremental-build,Command Line,Msbuild,Incremental Build,我正在通过Python构建一个VisualStudio2010解决方案,并调用子流程。直接从命令行调用时,devenv.com大约需要15秒才能启动。但是,当从Python调用时,这会增加到约1.5分钟 当然,我希望从我们的建设中消除这种停滞时间。所以我决定测试MSBuild.exe(来自.NET4)。看起来MSBuild.exe会立即运行。但是它似乎每次都进行完整构建,而不是增量构建 我使用的命令是 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\

我正在通过Python构建一个VisualStudio2010解决方案,并调用子流程。直接从命令行调用时,devenv.com大约需要15秒才能启动。但是,当从Python调用时,这会增加到约1.5分钟

当然,我希望从我们的建设中消除这种停滞时间。所以我决定测试MSBuild.exe(来自.NET4)。看起来MSBuild.exe会立即运行。但是它似乎每次都进行完整构建,而不是增量构建

我使用的命令是

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "C:\path\to\my\project.sln" /target:build /maxcpucount:8 /property:Configuration=Release
看起来这应该支持增量构建。但我在网上看到一些帖子,指出msbuild可能无法支持这样的增量构建

这可能吗?如果是,我做错了什么

更新:

我已经读了更多。基于

似乎我需要在.vcxproj文件中设置输入和输出属性。查看我的文件这些确实不见了

何时生成?我的大多数.vcxproj文件都是从VisualStudio2008转换过来的。但是我还生成了一个新项目,它也缺少输入和输出属性

VS2010是否不创建具有这些属性的项目


更新:我们已经升级到VS 2013。现在,msbuild支持增量生成。从未深入了解VS2010问题。

我认为,根据官方消息来源,不支持增量构建的事实是错误的,该功能包含在VS2010 SP1中

我们首先在VS2008中引入了托管增量构建特性。 在VS2010中,我们无法重新实现托管增量 生成系统移动到MSBuild时的生成功能。我们收到 客户对此功能的强烈要求。因此,我们 重新实现了此功能,它包含在VS2010 SP1中

我在网上找到的其他解决方案

  • 项目应该已经以增量方式构建(只需确保 进行构建而不是重建)。检查是否增量的最佳方法 building works是从命令行运行构建。第二 构建它的时间几乎不需要时间

    如果事情还在重建中,那么也许你已经修改了 你的项目在某种程度上打乱了构建顺序。 查看构建日志(通过/v选项)可以帮助您找到点 发生了什么事

  • 可能导致增量生成出现问题的其他原因是
    GenerateResource.TrackFileAccess属性
    此API支持.NET Framework基础结构,不打算直接从代码中使用。 获取或设置一个开关,该开关指定是否应跟踪文件访问模式

您在哪里看到MSBuild不支持增量生成的信息?你可以发布URL或如何找到它的指针吗?这是我找到的帖子。使我认为增量生成不受支持的一点是“无论是作为系统的MsBuild,还是作为任务的MsBuild,都不能提供一种了解有关正在生成的.sln的输入和输出的方法。”。但我不清楚这个说法有多准确。所以这个问题。啊哈。。。。这是有道理的。我没有Service Pack 1。在最初的版本中遗漏了多么不寻常的功能。@ShaneGannon同意:)!