将传入值设置为新值

时间:2013-12-13 10:01:34

标签: msbuild msbuild-task

如何在msbuild中将传入值设置为新值?

让我说我有这个

  msbuild /t:package /p:revision=2.2

在我的msbuild文件中我想将修订版更改为另一个变量中的另一个值。 我想说:

 $(Version)

我知道希望我的版本值设置修订版值。

revision = Version

如何?

实施例  你得到1.0.0.0版本,但想要修改你的版本中的版本?

1 个答案:

答案 0 :(得分:1)

您可以使用PropertyGroups和Conditions来完成此操作。将此MsBuild标记保存为“test.proj”。

<Project DefaultTargets="VersionTest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Version Condition="'$(Revision)' != ''">$(Revision)</Version>
    <Version Condition="'$(Version)' == ''">0.0.0.0</Version>
  </PropertyGroup>
  <Target Name="VersionTest">
    <Message Importance="high" Text="Revision is: $(Revision)" />
    <Message Importance="high" Text="Version is: $(Version)" />
  </Target>
</Project>

从命令提示符运行msbuild.exe test.proj

VersionTest:
  Revision is:
  Version is: 0.0.0.0

然后运行:msbuild test.proj /p:Revision=1.0.0.0

VersionTest:
  Revision is: 1.0.0.0
  Version is: 1.0.0.0