msbuild non riesce a registrare l'output
-
03-07-2019 - |
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
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.