2011-12-17 1 views
1

Я имею свойство указывать сборки приводаКак установить значение для свойства msbuild с помощью powershell?

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

Если я хочу, чтобы изменить диск сборки, используя пакетный файл, я могу сделать так

@echo off 

set buildDrive=H: 

:: Then call MSbuild 

Msbuild /t:BuildTarget %Projectfile% %Logger% 

Теперь я хочу получения идеальной один и тот же с помощью PowerShell

Я попытался следующим образом в моем build.ps1

PowerShell
$BuildDrive=H: 
MSbuild /t:BuildTarget $ProjectFile $Logger 

Но это не соблюдение буквы диска, предоставляемой через $ BuildDrive. Я знал, что могу добиться, если я передам параметр следующим образом, но когда количество свойств больше такого подхода, это не удобно.

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

Может ли кто-нибудь помочь, как передать значение свойства группы через powershell?

ответ

4

Вы задаете переменные окружения. Они доступны как свойства в msbuild.

Вы можете сделать следующее в Powershell:.

$env:BuildDrive="H:" 
+0

Я думаю Builddrive мое собственное имущество, даже если у меня есть какое-то название свойства манекена и условие указано, то он может быть заменен на пакетный файл < PropertyGroup> <пустышки Condition = " '$ (пустышки)' == ''"> Y: Я – Samselvaprabu

+0

@Samselvaprabu - Я не понимаю, что вы пытаетесь сказать. Вы пробовали строку, указанную в моем ответе в вашем скрипте? – manojlds

+0

Ничего себе. Оно работает. Поэтому, когда условие передается группе свойств, оно будет рассматриваться как переменная среды. это так? – Samselvaprabu