Svnversion修订错误

时间:2013-07-18 04:05:19

标签: .net svn msbuild

我正在尝试使用MSBuild检索svn版本号以在Assemblyinfo.cs上使用,但修订号返回-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" />

     

2 个答案:

答案 0 :(得分:0)

对于SlikSvn-1.6.9\bin和1.8格式的工作副本和

  

使用slik subversion 1.8

我至少看到两个问题

  • SlikSvn-1.6.9 \ bin中的svnversion是否存在?
  • svnversion 1.6(如果存在)可以阅读1.8格式的工作副本吗? (提示 - 不,它不能)

答案 1 :(得分:0)

我使用此任务。

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

http://msbuildtasks.tigris.org/

和/或

https://github.com/loresoft/msbuildtasks具有(FileUpdate和SvnVersion)任务。

这里有完整的例子:

Use SVN Revision to label build in CCNET