Domanda

Sto cercando di far funzionare correttamente i nostri script di build (che utilizzano MSBuild) su Vista e sto scoprendo che i progetti con l'opzione Registra output (nelle opzioni del linker) impostato su True non riescono a compilare dalla riga di comando con qualcosa di simile in questo modo:

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

Anche se posso facilmente risolvere questo problema per una singola macchina, eseguendo come admin o qualunque cosa io voglia lo script di compilazione su " basta lavorare " per qualsiasi macchina di sviluppo.

Anche solo fallire la registrazione ma far continuare la compilazione sarebbe soddisfacente. Qualche suggerimento?

Brad

È stato utile?

Soluzione

Potresti creare un file cmd che conterrà 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

Dopodiché dovresti disattivare la registrazione dell'output e si dovrebbe aggiungere il passo di costruzione personalizzato con il comando <pathtocmdscript> $(TargetPath). L'output uno dovrebbe essere impostato su $ (TargetPath) per la fase di creazione personalizzata.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top