Visual Studio:如何使用MSBuild和Git进行增量构建

时间:2016-08-19 21:11:45

标签: git msbuild incremental-build

我创建了一个Target并指定了此tutorial中描述的输入和输出,以便从SASS文件构建CSS文件。这通常有效,除非我切换到具有较旧文件时间戳的旧Git分支。在这种情况下,我希望MSBuild执行我的目标来重建我的文件,但MSBuild会跳过它,因为我的输入上的时间戳比我的输出旧,所以MSBuild认为我的输出是最新的。

当我切换Git分支时,如何让Visual Studio逐步构建我的SASS文件并清理/忽略我的输出?我想避免手动清理我编译的CSS文件以强制构建。

1 个答案:

答案 0 :(得分:3)

您可以使用Post Checkout Hook。 (另见official Git docs。)

将您的clean命令放在文件.git/hooks/post-checkout中。 E.g:

msbuild myproj.csproj /t:clean

每当你切换分支时,该命令都应该运行。

这将导致完全重建,这可能是您想要的,因为很难分辨哪些文件在分支之间发生了变化。

AFAIK,所有Git钩子都是repo的本地钩子,并且无法签入。要与其他用户共享钩子,你可以将它保存在repo中的某个地方,并告诉用户手动复制它正确的位置,或添加构建事件,以便在需要时将其复制到那里。