msbuild не может зарегистрировать вывод

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

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

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

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

штифтик

1 ответ

Решение

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

@ эхо выключено
вызовите regsvr32.exe /s %1
если%errorlevel% EQU 0, то нормально
echo Не удалось зарегистрировать% 1
перейти к выходу:Хорошо
echo Зарегистрироваться успешно%1:выход

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

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

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