【发布时间】:2009-05-19 12:37:44
【问题描述】:
首先,我通过观察 Visual Studio 使用其默认的 .*proj 文件编译事物有一个基本假设,如果您连续两次构建相同的解决方案,它会检测到没有任何变化并且似乎在解决方案构建中飞速发展.这是否意味着它知道项目中没有任何更改,并且不必生成新的 DLL 输出?
如果是这样,我有一个问题。假设我有一个包含多个类库的解决方案,并且每个项目中有一个 MSBuild 任务,它通过修改 AssemblyInfo.cs 自动增加构建的版本。事情是(如果我之前的假设是正确的)它每次都会这样做并触发每个类库的新重建。 MSBuild 中是否有可以判断项目是否需要重新编译的目标或属性,如果需要,则跳过我的版本控制步骤?
我问是因为假设我更新了项目 A,而不是解决方案中的项目 B。如果我在解决方案上运行构建,我希望它更新项目 A 的版本,但由于项目 B 没有更改,我想不理会它。
【问题讨论】:
标签: msbuild build-process