0

我正在尝试使用 SVN 修订号标记我的 make 项目构建。

我正在使用 MsBuildTask 更新 AssemblyVersionFile 详细信息。

我正在使用以下 BuildScript 来获取信息,但这会返回 -1,因为 SVNVersion.exe 正在返回未版本化的目录,如何更新 SVNVersion.exe

<Target Name="BeforeBuild">
    <SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(ProgramFiles)\TortoiseSVN\bin">

   <Output TaskParameter="Revision" PropertyName="Revision" />

    </SvnVersion>


    <FileUpdate Files="Properties\AssemblyInfo.cs"
     Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)"
  ReplacementText="$1.$2.$3.$(Revision)" />

</Target>
4

2 回答 2

0

不能更新svnversion(出于这个原因,您认为更新是解决方案),但要获得正确的工作字符串** 以运行 svnversion,以获得结果。

svnversion --help命令行的读取、注释格式

svnversion [OPTIONS] [WC_PATH [TRAIL_URL]]

并备注

如果 WC_PATH 是未版本化的路径,程序将输出“未版本化的目录”或“未版本化的文件”。

即 - 为任务构建命令行,检查需要你版本化的目录,而不是一些奇怪的非 WC 位置

于 2013-01-10T17:05:20.170 回答
0

这是因为您使用的是旧版本的 svnversion。

尝试打开命令行提示符,导航到 svnversion 目录并执行与 MSBuild 相同的工作。

命令:

cd C:\ProgramFiles\TortoiseSVN\bin
[进入]
svnversion C:\VisualStudio\Projects\YourDirectory
[进入]

SVNVERSION 应该回答为什么它不工作,在我的例子中是 E155021:这个客户端太老了,不能在...
于 2013-11-26T16:55:09.193 回答