0

MSBuild を使用して Assemblyinfo.cs で使用する svn リビジョン番号を取得しようとしていますが、リビジョン番号が -1 を返しています。スクリプトは以下に示され、slik subversion 1.8 を使用しています。MSBuild の診断を有効にしましたが、svnversion は -1 を返します。最も奇妙なことは、レガシープロジェクトでうまく機能することです。

何か案は?

乾杯ポール

<Target Name="Version">
<XmlRead XPath="/Revolution/Major" XmlFileName="$(MSBuildProjectDirectory)\..\Version.xml">
  <Output TaskParameter="Value" PropertyName="Major" />
</XmlRead>
<XmlRead XPath="/Revolution/Minor" XmlFileName="$(MSBuildProjectDirectory)\..\Version.xml">
  <Output TaskParameter="Value" PropertyName="Minor" />
</XmlRead>
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(ProgramFiles)\SlikSvn-1.6.9\bin">
  <Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<Message Text="Version: $(Major).$(Minor).$(Revision).0" />
<AssemblyInfo CodeLanguage="CS" OutputFile="Properties\AssemblyInfo.cs" AssemblyTitle="ITL.Fuel.Client" AssemblyDescription="ITL.Fuel.Client" AssemblyCompany="Ingenitech (NZ) Limited" AssemblyProduct="ITL.Fuel.Client" AssemblyCopyright="Copyright © Ingenitech (NZ) Limited 2008" ComVisible="false" Guid="51ec449f-f5fa-4506-b89f-77b743f02988" AssemblyVersion="$(Major).$(Minor).$(Revision).0" />

4

2 に答える 2

0

このタスクを使用します。

<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(SVNToolPath)">
  <Output TaskParameter="Revision" PropertyName="MySubVersionRevision" />
</SvnVersion>

http://msbuildtasks.tigris.org/

および/または

https://github.com/loresoft/msbuildtasksには ( FileUpdate および SvnVersion ) タスクがあります。

ここに完全な例:

SVN リビジョンを使用して CCNET のビルドにラベルを付ける

于 2013-07-18T13:44:25.163 に答える