Проблема со SvnInfo в MSBuild (с помощью MSBuildCommunityTasks) - PullRequest
0 голосов
/ 20 января 2010

У меня есть скрипт, который я буду использовать вместе с 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

Я всегда сталкиваюсь с одной и той же ошибкой.

1 Ответ

3 голосов
/ 21 января 2010

Проблема решена!

При использовании любой задачи Subversion в MSBuildCommunityTask местоположение для Subversion командной строки (svn.exe) ищется в переменной PATH .
На моем компьютере был недопустимый символ ("). Это выдает исключение, в котором говорится, что в пути есть недопустимый символ ...
Я неправильно понял ошибку, мне показалось, что недопустимый символ находится в RepositoryPath - Атрибут.

...