Visual Studio 2013构建Post-Build Powershell脚本

时间:2016-10-18 16:26:47

标签: powershell visual-studio-2013 msbuild

我正在使用Visual Studio 2013的默认构建模板。我已经使用预构建脚本/后构建脚本选项来运行Powershell脚本一段时间了。我已经能够在这些脚本中访问环境变量,但现在我需要访问Visual Studio项目中定义的属性。我想在后期构建的Powershell脚本中访问的特定属性是$ Configuration。

我打开正在执行的构建的诊断程序。我可以确认该属性被传递到msbuild执行以构建像这样的项目

/p:Configuration="Release"

我添加了这样的post-build脚本参数(我也尝试过单引号/双引号/全部大写)

-Configuration $Configuration

在Powershell脚本本身中,我通过param访问属性值,如下所示:

[CmdletBinding()]
param(
[string]$Configuration
)

然后我尝试在Powershell脚本中写出此参数的值,如此

Write-Host "Checking Configuration: " + $Configuration

当我从构建中查看诊断时,我可以看到这一行,但问题是参数的值始终是我传递给构建后脚本参数的字符串文字,但从来没有替换参数值调试或发布。以下是打印内容的一些示例

  

检查配置:$ Configuration

     

检查配置:“$ Configuration”

     

检查配置:'$ Configuration'

     

检查配置:$ CONFIGURATION

是否有可能做我想做的事情 - 后期构建脚本可用的项目属性?看起来这应该可以通过阅读本网站上的其他问题以及其他网站上的帖子来实现。有什么简单的复杂我想念吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并通过将变量添加到环境变量到XAML Build中的运行脚本任务来解决。

enter image description here