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