2009-04-29 11 views
5

Estoy intentando que nuestros scripts de compilación (que usan MSBuild) funcionen correctamente en Vista y estoy descubriendo que los proyectos que tienen la opción Registrar salida (en opciones de enlazador) configurada en True no se pueden construir desde línea de comandos con algo como esto:msbuild no registra la salida

Proyecto: error PRJ0050: Error al registrar la salida. Intente habilitar la redirección por usuario o registrar el componente desde un símbolo del sistema con permisos elevados.

Aunque puedo arreglar esto fácilmente para una sola máquina, al ejecutar como administrador o lo que sea, quiero que el script de compilación "funcione" para cualquier máquina de desarrollo.

Incluso si simplemente falla el registro pero la construcción continúa, sería satisfactorio. ¿Alguna sugerencia?

Brad

Respuesta

4

Se puede crear cmd-archivo que se contiene el texto siguiente:

@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 

Después de eso debe desactivar el registro de salida y uno debe agregar personalizado Construir Paso con el comando <pathtocmdscript> $(TargetPath). La salida uno debe establecerse en $ (TargetPath) para Custom Build Step.

Finalmente recibirá el mensaje sobre el registro de progreso, pero la compilación no se detendrá en ese paso.

Cuestiones relacionadas