MSBuild VC Express Project на сервере Hudson (IncludePath) - PullRequest
3 голосов
/ 15 марта 2011

Я пытаюсь скомпилировать решение Visual C ++ 2010 Express для Hudson, работающего на Windows Server 2008 R2, но не удается из-за отсутствия путей включения.

Проекту нужны дополнительные каталоги включения, определенные в Microsoft.Cpp.Win32.user.propsкоторый находится в %LOCALAPPDATA%\Microsoft\MSBuild\v4.0.Когда я вхожу на сервер, перейдите в директорию рабочей области hudson и запустите MSBuild, проект скомпилируется (файл props находится в директории localappdata моих пользователей).Поскольку служба hudson работает как «Локальная система», %LOCALAPPDATA% - это C:\Windows\System32\config\systemprofile\AppData\Local\.Поэтому я поместил копию Microsoft.Cpp.Win32.user.props в C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\MSBuild\v4.0.

Когда я начинаю сборку в Hudson (с MSBuild ... / verbosity: diag), я вижу

UserRootDir = C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\MSBuild\v4.0

в выходных данных, но не из путей включения в IncludePath.Когда я делаю .props файл недопустимым xml-файлом (который позволяет сборке вручную завершиться неудачей в самом начале), сборка Hudson не сообщает об этой ошибке.Кажется, что MSBuild не анализирует файл, когда он работает в Хадсоне.

Что здесь не так?Где мне разместить файл с реквизитом или как мне определить дополнительные файлы Dirs?

С уважением ...

1 Ответ

5 голосов
/ 15 марта 2011

Я могу порекомендовать установить UserRootDir вручную для задачи Hudson.Для MDBuild вы можете установить Параметры командной строки :

 /p:Configuration=Release;Platform=Win32;UserRootDir=c:\MSBuild
...