Overriding precedence for properties in MSBuild
You can set the value of property in the following manner
- pass the value in proj/targets file inside PropertyGroup tag
- pass the value in the msbuild command line using /p switch
- pass the value of the property in rsp file using /property switch
- pass the value by using CreateProperty task
Precedence order
- Value specified using CreateProperty task will always have the highest precedence.
- Value specified in task/targets file under PropertyGroup tag will have the least precedence
- Value specified using command line or rsp file have equal precedence. The one passed later will override the earlier one. For example if rsp file set Name = “RspName” and the command line set Name = “CmdName”.
- Calling msbuild @rspfile /p:Name=CmdName will set the value of Name property to CmdName
- Calling msbuild /p:Name=CmdName @rspfile will set the value of Name property to RspName