我有一个MSBuild目标,它可以转换文件,即输入和输出文件是同一个文件。在这种情况下,如何让Visual Studio正确处理集成构建?我必须移动文件吗?
答案 0 :(得分:1)
简短的回答:永远不要在构建期间将文件转换到位。任何转换都必须在其他位置创建一个新文件,或者使用不同的名称。
答案很长。 MSBuild根据时间戳跟踪文件是否是最新的。这与make
和大多数其他构建系统使用的机制相同。这允许您的增量构建仅执行必要构建步骤的部分重建。请注意,为了使增量构建工作,您必须在目标的Inputs
和Outputs
属性中声明所有输入和输出文件。如果您在Inputs
以及Outputs
中拥有相同的文件,则会将其视为最新版本,并且不会执行目标,这会破坏您的构建。
如果您不关心增量构建,只需创建一个没有Inputs
和Outputs
的目标,就可以让它真正发挥作用。在这种情况下,将始终执行目标。这需要你每次都在全力以赴的价格。