0

我有一个脚本,我将与 cc.net 一起使用。但现在我面临 RepositoryPath 属性的问题。以下脚本(从 MSBuildCommunityTask 中提取的示例脚本)给我带来了麻烦:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
     ToolsVersion ="3.5">
  <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />

  <Target Name="RemoteInfo">
    <SvnInfo RepositoryPath="http://msbuildtasks.tigris.org/svn/msbuildtasks/trunk/Master.proj">
      <Output TaskParameter="RepositoryPath" PropertyName="RepositoryPath" />
      <Output TaskParameter="RepositoryRoot" PropertyName="RepositoryRoot" />
      <Output TaskParameter="LastChangedAuthor" PropertyName="LastChangedAuthor" />
      <Output TaskParameter="LastChangedRevision" PropertyName="LastChangedRevision" />
      <Output TaskParameter="LastChangedDate" PropertyName="LastChangedDate" />
      <Output TaskParameter="Schedule" PropertyName="Schedule" />
      <Output TaskParameter="NodeKind" PropertyName="NodeKind" />
      <Output TaskParameter="RepositoryUuid" PropertyName="RepositoryUuid" />
   </SvnInfo>
   <Message Text="RepositoryRoot: $(RepositoryRoot)" />
   <Message Text="RepositoryPath: $(RepositoryPath)" />
   <Message Text="LastChangedAuthor: $(LastChangedAuthor)" />
   <Message Text="LastChangedRevision: $(LastChangedRevision)" />
   <Message Text="LastChangedDate: $(LastChangedDate)" />
   <Message Text="Schedule: $(Schedule)" />
   <Message Text="NodeKind: $(NodeKind)" />
   <Message Text="RepositoryUuid: $(RepositoryUuid)" />
  </Target>
</Project>

命令行:

D:\Test>msbuild test.build /target:RemoteInfo

答案是:

D:\_SolutionTrunk\build\test.build(7,2): error MSB6001: Ungültiger Befehlszeilenschalter für "svn.exe". Illegales Zeichen im Pfad.

可以翻译为:“svn.exe”的命令行开关无效。路径中的非法字符。

当然实际上我会为我的脚本使用SvnCheckout任务和RepositoryPath="https://mySvnServer.myIntranet.myDomain:8443/svn/repository/someName/trunk

我总是面临同样的错误。

4

1 回答 1

3

问题解决了!

在MSBuildCommunityTask中使用任何 Subversion 任务时,会在PATH -Variable中查找命令行 Subversion (svn.exe) 的位置。
在我的计算机上是一个非法字符(“)。这会引发一个异常,即路径中有一个非法字符......
我误解了错误,我认为非法字符在RepositoryPath -Attribute 中。

于 2010-01-21T10:00:44.497 回答