2009-04-29 25 views
5

Sto cercando di ottenere i nostri script di build (che utilizzano MSBuild) funzionanti correttamente su Vista e sto trovando che i progetti che hanno l'opzione Registra output (nelle opzioni del linker) su True non riescono a compilare dal riga di comando con qualcosa del genere:msbuild non registra l'output

Progetto: errore PRJ0050: impossibile registrare l'output. Prova ad abilitare il reindirizzamento per utente o registrare il componente da un prompt dei comandi con autorizzazioni elevate.

Anche se posso facilmente risolvere questo problema per una singola macchina, eseguendo come amministratore o come voglio che lo script di build "funzioni solo" per qualsiasi macchina di sviluppo.

Anche fallire semplicemente la registrazione ma avere la generazione continua sarebbe soddisfacente. Eventuali suggerimenti?

Brad

risposta

4

Si potrebbe creare cmd-file che verrà contiene il seguente testo:

@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 

Dopo di che si dovrebbe disattivare la registrazione di uscita e uno dovrebbe aggiungere personalizzato costruire passo con il comando <pathtocmdscript> $(TargetPath). L'output uno dovrebbe essere impostato su $ (TargetPath) per Custom Build Step.

Infine, riceverai un messaggio sulla registrazione dei progressi, ma la compilazione non si fermerà su quel passaggio.