2011-12-17 22 views
1

私は今powershellを使用してmsbuildプロパティの値を設定する方法は?

@echo off 

set buildDrive=H: 

:: Then call MSbuild 

Msbuild /t:BuildTarget %Projectfile% %Logger% 

を次のように私はそれを用いPowerShellをacheiveたい行うことができ、私はバッチファイルを使用して、ビルド・ドライブを変更したい場合はプロパティは、ビルド・ドライブ

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

を指定せています

$BuildDrive=H: 
MSbuild /t:BuildTarget $ProjectFile $Logger 
build.ps1私のPowerShellで次のように私が試した

しかし、$ BuildDriveを通して提供されたドライブレターを尊重していません。 私は次のようにパラメータを渡すと私は習得できると知っていましたが、プロパティの数が多い場合、このアプローチは便利ではありません。

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

誰でもpowershellを使用してpropertygroup値を渡す方法を教えてください。

答えて

4

環境変数を設定しています。これらはmsbuildのプロパティとして利用できます。

あなたはPowerShellで次の操作を行うことができます。

$env:BuildDrive="H:" 
+0

私はBuilddrive iはダミーと呼ばれるいくつかのプロパティ名を持ち、条件は、それがバッチファイルで置き換えることができ、指定されている場合でも、自分の財産だと思います< PropertyGroup> <ダミー条件= " '$(ダミー)' == ''"> Y: I – Samselvaprabu

+0

@Samselvaprabu - 私はあなたが言いたいのか理解していません。あなたのスクリプトで私の答えで与えられた行を試しましたか? – manojlds

+0

うわー。できます。したがって、conditionがpropertygroupに渡されるとき、それは環境変数と見なされます。そうですか? – Samselvaprabu

関連する問題