问题
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.
回答1:
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.
来源:https://stackoverflow.com/questions/26328431/how-do-i-use-custom-variables-in-msbuild-scripts