Team Foundationビルドで実行されるmsbuildスクリプトがあります。ビルド中のプロジェクトの1つはclickOnceアプリです。これまでのところ、プロジェクトを適切な場所に公開するためのスクリプトを作成する方法を試しましたが、クリック一度のアプリケーションバージョンを設定することはできません。MSBUILDのバージョンをTFSビルドから設定する
TFSVersionタスクを使用してバージョンを設定しました。これは正常に動作するようですが、私のバージョン番号が更新されています。この問題は、CompileConfigurationセクションとpublishセクションに入ると、このバージョン番号が初期値にリセットされているようです。この値をどのように伝播させるのですか?
私はリビジョンをBeforeCompileてもらう私のチェンジセットに一致するが、私はリビジョンをBeforeCompileConfigurationするために取得するときに戻ってここで0
へのスクリプトのハイライトされている。
<PropertyGroup>
<CustomizablePublishDir>true</CustomizablePublishDir>
<SkipLabel>true</SkipLabel>
<!-- Version Settings -->
<Major>2</Major>
<Minor>12</Minor>
<Build>0</Build>
<Revision>0</Revision>
<GetDependsOn>
$(GetDependsOn);
Version
</GetDependsOn>
</PropertyGroup>
<ItemGroup>
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../AutoBuildTest/AutoBuildTest.sln" />
<SolutionToPublish Include="@(SolutionToBuild)" >
<Properties>
PublishDir=\\DeployServer\Deploy\AutoBuildTest\;
MinimumRequiredVersion=$(Major).$(Minor).0.0;
ApplicationVersion=$(Major).$(Minor).$(Build).$(Revision)
</Properties>
</SolutionToPublish>
</ItemGroup>
<Target Name="Version">
<Message Importance="high" Text="Updating Version: $(Major).$(Minor).$(Build).$(Revision)"/>
<TfsVersion LocalPath="$(SolutionRoot)">
<Output TaskParameter="Changeset" PropertyName="Revision"/>
</TfsVersion>
<Time Format="ddMM">
<Output TaskParameter="FormattedTime" PropertyName="Build" />
</Time>
<Message Importance="high" Text="New Version: $(Major).$(Minor).$(Build).$(Revision)"/>
</Target>
トリック感謝をしたと –