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なので、最初のケースでは実際に変更されているのがわかりますが、2番目のケースは機能していません:(。

この行が含まれている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 に答える