如何只为调试版本运行Visual Studio生成后事件

如何将构建后事件限制为仅针对一种构建类型运行? 我正在使用事件将DLL复制到本地IIS虚拟目录,但我不但愿在发布模式下的生成服务器上发生这种状况。 服务器


#1楼

或者(因为将事件放入批处理文件中而后调用),请使用如下命令。 (在“生成事件”框中,而不是在批处理文件中): 编辑器

if $(ConfigurationName) == Debug goto :debug

:release
signtool.exe ....
xcopy ...

goto :exit

:debug
' debug items in here

:exit

这样,您能够对任何配置都具备事件,而且仍然能够使用宏对其进行管理,而没必要将其传递到批处理文件中,而且请记住%1是$(OutputPath)等: ide


#2楼

在VS 2012中,您必须使用(我也认为在VS 2010中) ui

if $(Configuration) == Debug xcopy

$(ConfigurationName)被列为宏,但未分配。 spa

在此处输入图片说明

比较: http : //msdn.microsoft.com/en-us/library/c02as0cs(v=vs.110).aspx 命令行


#3楼

您能够将配置名称传递给生成后脚本,而后在其中检查它是否应该运行。 debug

用$(ConfigurationName)传递配置名称 code

根据您如何执行构建后步骤进行检查-这将是一个命令行参数 xml


#4楼

像日常同样添加您的发布活动。 而后保存您的项目,在记事本(或您喜欢的编辑器)中将其打开,并将条件添加到PostBuildEvent属性组中。 这是一个例子: 事件

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <PostBuildEvent>start gpedit</PostBuildEvent>
</PropertyGroup>

#5楼

构建前和构建后事件做为批处理脚本运行。 您能够在$(ConfigurationName)上执行条件语句。

例如

if $(ConfigurationName) == Debug xcopy something somewhere
相关文章
相关标签/搜索