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.
Наконец, вы получите сообщение о регистрации прогресса, но компиляция не остановится на этом шаге.