2009-04-29 2 views
5

Я пытаюсь заставить наши скрипты сборки (которые используют MSBuild) правильно работать в Vista, и я нахожу, что для проектов, у которых параметр «Выход в реестре» (в параметрах компоновщика) установлен на «Истина», невозможно построить из командной строки с чем-то вроде этого:msbuild не удалось зарегистрировать вывод

Проект: ошибка PRJ0050: не удалось зарегистрировать выход. Попробуйте включить перенаправление для каждого пользователя или зарегистрируйте компонент из командной строки с повышенными разрешениями.

Хотя я могу легко исправить это для одной машины, запустив ее как администратора или что-то, что я хочу, чтобы скрипт сборки «просто работал» для любой dev-машины.

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

Брэд

ответ

4

Вы можете создать CMD-файл, который будет содержать следующий текст:

@echo off 
call regsvr32.exe /s %1 
if %errorlevel% EQU 0 goto ok 
echo Fail to register %1 
goto exit 
:ok 
echo Register successful %1 
:exit 

После этого следует отключить регистрацию и вывод один нужно добавить Пользовательские сборки Шаг с командой <pathtocmdscript> $(TargetPath). Вывод должен быть установлен в $ (TargetPath) для пользовательского этапа сборки.

Наконец-то вы получите сообщение о регистрации прогресса, но компиляция не остановится на этом шаге.

Смежные вопросы