繁体   English   中英

有没有办法有条件地运行Visual Studio Post Build Steps

[英]Is there a way to conditionally run Visual Studio Post Build Steps

我们要寻找的是:在编译相同的配置时,比如Release | Win32,有时候只能进行后置步骤。 就像,如果我在开发机器上执行所有后期构建步骤,或者如果我在构建服务器上,则不要执行它们。 或者实现这一目标的唯一方法是实现新配置?

评论者:感谢您的想法,我们不想使用脚本,因为它们将是一个需要维护的东西,并且在这一点上转向MSBuild proj文件也会很麻烦。 谢谢你的尝试。

您可以在后期构建脚本中使用环境变量。 像这样的东西:

if NOT %ComputerName% == DEVMACHINENAME GOTO end
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen "$(TargetPath)"
:end

如果你想破解MSBuild本身(。* proj文件本质上只是MSBuild脚本),你可以在构建后运行机器特定的步骤: http//flimflan.com/blog/MachineSpecificTasksWithMSBuild.aspx

“这利用了以下事实:所有环境变量都可以立即作为MSBuild脚本中的属性使用;并且所有Windows机器(我最近都在使用过)都设置了COMPUTERNAME环境变量。”

如果您不喜欢单独的构建配置(我认为最有意义),您可以在构建服务器上定义一个环境变量,然后您可以在构建后的脚本中进行测试。

是否可以将后构建步骤实现为始终执行的外部脚本,但是是否具有有条件地执行所需步骤的逻辑?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM