暂时禁用visual studio中的构建事件

时间:2012-02-06 16:00:02

标签: visual-studio-2010 msbuild

有没有办法暂时禁用构建前事件和后期构建事件?

即没有构建事件的构建(这需要花费一些时间,但并不总是很重要)

此刻我正在进行缩小,还有其他一些事情正在发生,我并不总是需要这样做。

4 个答案:

答案 0 :(得分:11)

禁用构建事件的最简单方法是传递空值:

msbuild your.sln /p:PreBuildEvent=;PostBuildEvent=

答案 1 :(得分:8)

像最小化这样的东西只对Release版本很重要。所以你可以这样跳过它:

if "$(ConfigurationName)" == "Debug" goto skip
; stuff here...
:skip

您可以使用其他一些宏,点击编辑按钮和宏>>按钮看到它们。也可以测试环境变量,使用%varname%。但要设置起来要困难得多。

答案 2 :(得分:6)

我也和msbuild foo.vcxproj /p:PreBuildEvent= /p:PostBuildEvent=玩了一点,但对我来说它没有用,可能是因为我使用自定义道具文件。

我发现的工作是/p:PostBuildEventUseInBuild=false

答案 3 :(得分:3)

检查您的帖子构建事件设置。在“构建事件”选项卡上,将“运行构建后事件”组合框值更改为“当构建更新项目输出时”。只有在更新输出程序集时才会执行构建后事件。

OR

使用MSBuild命令构建解决方案(这对多解决方案项目很有用)。 在PC上的某处创建“DisableBuildEvents.msbuild”文件。 DisableBuildEvents.msbuild 内容:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="PostBuildEvent"/>
  <Target Name="PreBuildEvent" />
</Project>

在命令行中设置 CustomAfterMicrosoftCommonTargets 属性执行MsBuild:

MSBuild.exe YourSolution.sln /t:Build p:CustomAfterMicrosoftCommonTargets="c:\DisableBuildEvents.msbuild"

注意:CustomAfterMicrosoftCommonTargets值应为完整路径名。