我有一个脚本,我将与 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
我总是面临同样的错误。