Visual studio 2010 暂时禁用visual studio中的生成事件
有没有办法暂时禁用生成前和生成后事件 i、 无构建事件的e构建(这需要一点时间,但运行起来并不总是至关重要的)Visual studio 2010 暂时禁用visual studio中的生成事件,visual-studio-2010,msbuild,Visual Studio 2010,Msbuild,有没有办法暂时禁用生成前和生成后事件 i、 无构建事件的e构建(这需要一点时间,但运行起来并不总是至关重要的) 目前,我正在进行缩小和其他一些事情,我并不总是需要这些。检查构建后事件设置。在“构建事件”选项卡上,将“运行构建后事件”组合框值更改为“当构建更新项目输出时”。生成后事件将仅在更新输出程序集时执行 或 使用MSBuild命令生成解决方案(这对于多解决方案项目很有用)。 在电脑上的某个位置创建“DisableBuildEvents.msbuild”文件。 禁用BuildEvents.ms
目前,我正在进行缩小和其他一些事情,我并不总是需要这些。检查构建后事件设置。在“构建事件”选项卡上,将“运行构建后事件”组合框值更改为“当构建更新项目输出时”。生成后事件将仅在更新输出程序集时执行 或 使用MSBuild命令生成解决方案(这对于多解决方案项目很有用)。 在电脑上的某个位置创建“DisableBuildEvents.msbuild”文件。 禁用BuildEvents.msbuild内容:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="PostBuildEvent"/>
<Target Name="PreBuildEvent" />
</Project>
注意:CustomAfterMicrosoftCommonTargets值应为完整路径名。禁用生成事件的最简单方法是传递空值:
msbuild your.sln /p:PreBuildEvent=;PostBuildEvent=
像最小化这样的东西只对发布版本很重要。所以你可以这样跳过它:
if "$(ConfigurationName)" == "Debug" goto skip
; stuff here...
:skip
还有一些其他宏可以使用,请单击“编辑”按钮和“宏>>按钮查看它们。也可以测试环境变量,请使用%varname%。但是设置起来要困难得多。我还玩了一点msbuild foo.vcxproj/p:PreBuildEvent=/p:PostBuildEvent=,但对我来说它不起作用,可能是因为我使用了自定义道具文件
然而,我发现有效的是
/p:PostBuildEventUseInBuild=false
Sweet。由于新添加的生成事件,我的TeamCity生成失败。将此添加到“命令行参数”字段可以很好地修复此问题。我遇到了完全相同的情况,/p:PostBuildEventUseInBuild=false
也适用于我。谢谢这里也是一样,/p:PostBuildEvent=
不起作用,但/p:PostBuildEventUseInBuild=false
起作用。
if "$(ConfigurationName)" == "Debug" goto skip
; stuff here...
:skip