powershell - 如何使用PowerShell为MSBuild属性设置值

标签 powershell msbuild powershell-2.0 msbuild-4.0

我有一个属性来指定构建驱动器:

<PropertyGroup>
    <BuildDrive Condition="'$(BuildDrive)'==''">Y:</Group>
</PropertyGroup>

如果要使用批处理文件更改构建驱动器,可以执行以下操作:
@echo off

set buildDrive=H:

:: Then call MSBuild

Msbuild /t:BuildTarget %Projectfile% %Logger%

现在,我想使用PowerShell实现相同的目的。

我在PowerShell脚本build.ps1中尝试了以下操作:
$BuildDrive=H:
MSbuild /t:BuildTarget $ProjectFile $Logger

但是,它不遵守$ BuildDrive提供的驱动器号。
我知道,如果我按如下方式传递参数,就可以实现,但是当属性数量更多时,这种方法就不方便了。
$BuildDrive=H:
Msbuild /t:BuildTarget /p:BuildDrive=$BuildDrive $projectfile $logger

如何通过PowerShell传递PropertyGroup值?

最佳答案

您正在设置环境变量。这些可作为MSBuild中的属性使用。

您可以在PowerShell中执行以下操作:

$env:BuildDrive="H:"

关于powershell - 如何使用PowerShell为MSBuild属性设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542687/

相关文章:

sharepoint - powershell 检查共享点 URL

msbuild - 如何使用(wix)torch msbuild 任务?

Powershell - 获取 AD 用户的姓名首字母

powershell - 使用 PowerShell 获取模式后的字符串值

powershell - 在Powershell中使用Invoke-Command时,如何在本地显示远程exe的输出?

TFS 联机构建失败 - NuGet 包还原不工作

msbuild - MSBuild 输出 TaskParameter 可以采用哪些值?

powershell - 在Powershell中比较两个文件时,比较对象的输出是什么意思

powershell - 在 PowerShell 版本 2 中检查进程和进程状态并根据单个进程或多个进程获得两个不同的输出?

c# - 如何克隆 Collection<T>?