2011-12-17 61 views
1

我有屬性來指定構建驅動如何使用PowerShell設置msbuild屬性的值?

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

如果我想使用批處理文件更改構建驅動器,我可以做如下

@echo off 

set buildDrive=H: 

:: Then call MSbuild 

Msbuild /t:BuildTarget %Projectfile% %Logger% 

現在我想acheive的使用PowerShell相同

我嘗試作爲build.ps1

$BuildDrive=H: 
MSbuild /t:BuildTarget $ProjectFile $Logger 
在我下面的PowerShell

但它不符合通過$ BuildDrive提供的驅動器號。 我知道我可以達到如果我通過參數如下,但當屬性數量更多這種方法是不方便的。

$BuildDrive=H: 
Msbuild /t:BuildTarget /p:BuildDrive=$BuildDrive $projectfile $logger 

任何人都可以幫助如何通過PowerShell傳遞propertygroup值嗎?

回答

4

您正在設置環境變量。這些可在msbuild中作爲屬性使用。

你可以在PowerShell中的以下內容:

$env:BuildDrive="H:" 
+0

我覺得Builddrive是我自己的財產,即使我有一些所謂的虛擬財產的名稱,並指定了條件,那麼它可以通過批處理文件來代替<的PropertyGroup> <虛擬條件= 「 '$(假)' == ''」> Y: 我 – Samselvaprabu 2011-12-17 05:24:21