Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I use custom variables in MSBuild scripts?

Tags:

msbuild

Is there a way to use custom variables on the command-line when building with MSBuild.exe as follows:

MSBuild.exe bootstrapper.msbuild <custom_variable1=custom_variable_value1>

custom_variable2=custom_variable_value2>...<custom_variablen=custom_variable_valuen>

The purpose is to know whether I have to launch another executable or not.

like image 319
Sofiane Avatar asked Oct 12 '14 18:10

Sofiane


1 Answers

You should start with the basics. The answer is found in the official documentation.

MSBuild calls these properties instead of variables.

In practice:

msbuild bootstrapper.msbuild /p:custom_variable1=custom_variable_value1

And in the MSBuild file you could use it as such:

<Target Name="MyTarget">
  <PropertyGroup>
    <custom_variable1 Condition="'$(custom_variable1)'==''">defaultValue</custom_variable1>
  </PropertyGroup>
  <Exec Condition="'$(custom_variable1)'=='someValue'" .../>
</Target>

This assigns a default value to the property if it doesn't exist or is empty, and only executes the Exec task if the value is equal to someValue.

like image 152
stijn Avatar answered Oct 28 '22 23:10

stijn