我正在尝试使用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" />
答案 0 :(得分:0)
对于SlikSvn-1.6.9\bin
和1.8格式的工作副本和
使用slik subversion 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)任务。
这里有完整的例子: