0

我有以下行很好用

<AssemblyInfo AssemblyInfoFiles="$(MSBuildProjectDirectory)\DesktopAgent\properties\AssemblyInfo.cs" 
              AssemblyCopyright="Copyright 2012 Alpine Access" 
              AssemblyVersion="1.0.0.56"
              AssemblyFileVersion="1.0.0.56">
</AssemblyInfo>

我尝试像这样输入线路,但这不起作用

<AssemblyInfo AssemblyInfoFiles="$(MSBuildProjectDirectory)\DesktopAgent\properties\AssemblyInfo.cs" 
              AssemblyCopyright="Copyright 2012 Alpine Access" 
              AssemblyVersion="$(VersionNumber)"
              AssemblyFileVersion="$(VersionNumber)">
</AssemblyInfo>

我的 assemblyinfo 文件中的版本号是 1.0.0.32 所以在第一种情况下,我实际上看到它发生了变化,但第二种情况不起作用:(。

我有一个 bat 文件,里面有这一行

msbuild /property:version=%1;anotherProperty=value project.build

我像这样运行命令

build.bat 1.0.0.61

它不起作用:(。有什么想法为什么在使用属性时会中断?

4

1 回答 1

1

VersionNumber必须在项目文件中定义为属性:

  <PropertyGroup>
    <!-- properties -->
    <VersionNumber Condition="'$(VersionNumber)' == ''">1.0.0.0</VersionNumber>
  </PropertyGroup>

然后该命令必须设置相同的属性:

msbuild your.csproj /property:VersionNumber=%1
于 2012-12-02T05:54:29.193 回答