Задачи сообщества MS Build - SVNCHECKOUT: не удается найти svn.exe, даже если он находится в PATH

Примечание. Этот вопрос относится к использованию надстройки MSBUILDCOMMUNITYTASKS для MSBUILD. В частности, функциональность SVNCHECKOUT и его неспособность найти файл svn.exe, даже если он находится в каталоге, включенном в переменную среды PATH.

Так что я мог бы упустить что-то очевидное здесь, но помощь на этом этапе будет принята с благодарностью.

У меня есть несколько довольно сложных сценариев msbuild, которые отлично работают на 3 разных системах Windows XP (и уже 2 года).

Я в процессе портирования их для запуска на 64-битных окнах в настоящее время на Windows 2008 Server. Я работаю над всеми различиями в каталогах, и я использовал неправильные переменные окружения в прошлом, из-за которых вещи не работали, когда я перешел на новую операционную систему.

Но я застрял сейчас с командой SVNCHECKOUT, выдающей мне эту ошибку:

C:\Program Files (x86)\MSBuild\somedirectory\someprojfile.proj(44,5): error MSB4018: The "SvnCheckout" task failed unexpectedly.\r
C:\Program Files (x86)\MSBuild\somedirectory\someprojfile.proj(44,5): error MSB4018: System.Exception: Could not find svn.exe.  Looked in PATH locations and various common folders inside Program Files.\r

В каталоге PATH находится следующий каталог:

C:\Program Files (x86)\CollabNet\Subversion Client\

и я могу запустить svn.exe оттуда

Я буду в порядке, используя директиву SVNCLIENT, чтобы указать, где находится файл, но мне не повезло.

Версия, которую я использую

msbuild: Framework v3.5
msbuildcommunitytasks: ночная сборка от 10.10.2008 (исправлены ошибки, мешавшие мне использовать "стабильную" версию)
ОС: Windows Server 2008R2 SP1

2 ответа

Ну, это была явно ошибка в MSBUILDCOMMUNITYTASKS

Я установил ночные сборки 2011-06-27, и теперь он работает. Это всегда заставляет меня нервничать с их программным обеспечением, потому что кажется, что оно не поддерживается, но до этого момента я буду отдавать должное разработчикам - они еще не сломали все, что мне нужно, с помощью нового кода.

версия, которая работает:
Версия: 1.3.0.514 Дата: 27.06.2011

Если вы запускаете пакетный скрипт, я бы сначала установил путь в пакетном скрипте

set path=$path;'новый путь'; <--- пожалуйста, проверьте этот синтаксис, как я использовал его давным-давно

Если вы используете его из среды Visual Studio, убедитесь, что он использует переменную Windows Path, если нет, укажите каким-либо образом ваш путь.

Для быстрой отладки вы всегда можете использовать точный путь, и если это работает, то работать с переменной пути. Возможно, что-то еще может быть не так.

Другие вопросы по тегам