Задачи сообщества 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, если нет, укажите каким-либо образом ваш путь.
Для быстрой отладки вы всегда можете использовать точный путь, и если это работает, то работать с переменной пути. Возможно, что-то еще может быть не так.