如何将构建后事件限制为仅针对一种构建类型运行? 我正在使用事件将DLL复制到本地IIS虚拟目录,但我不但愿在发布模式下的生成服务器上发生这种状况。 服务器
或者(因为将事件放入批处理文件中而后调用),请使用如下命令。 (在“生成事件”框中,而不是在批处理文件中): 编辑器
if $(ConfigurationName) == Debug goto :debug :release signtool.exe .... xcopy ... goto :exit :debug ' debug items in here :exit
这样,您能够对任何配置都具备事件,而且仍然能够使用宏对其进行管理,而没必要将其传递到批处理文件中,而且请记住%1是$(OutputPath)等: ide
在VS 2012中,您必须使用(我也认为在VS 2010中) ui
if $(Configuration) == Debug xcopy
$(ConfigurationName)被列为宏,但未分配。 spa
比较: http : //msdn.microsoft.com/en-us/library/c02as0cs(v=vs.110).aspx 命令行
您能够将配置名称传递给生成后脚本,而后在其中检查它是否应该运行。 debug
用$(ConfigurationName)传递配置名称 code
根据您如何执行构建后步骤进行检查-这将是一个命令行参数 xml
像日常同样添加您的发布活动。 而后保存您的项目,在记事本(或您喜欢的编辑器)中将其打开,并将条件添加到PostBuildEvent属性组中。 这是一个例子: 事件
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <PostBuildEvent>start gpedit</PostBuildEvent> </PropertyGroup>
构建前和构建后事件做为批处理脚本运行。 您能够在$(ConfigurationName)
上执行条件语句。
例如
if $(ConfigurationName) == Debug xcopy something somewhere