msbuild ne parvient pas à enregistrer la sortie
-
03-07-2019 - |
Question
J'essaie de faire fonctionner correctement nos scripts de génération (qui utilisent MSBuild) sous Vista. Les projets dont l'option Enregistrer la sortie (dans les options de l'éditeur de liens) est définie sur True ne parviennent pas à générer à partir de la ligne de commande avec un résultat similaire à ceci:
Projet: erreur PRJ0050: échec de l’enregistrement de la sortie. Essayez d'activer la redirection par utilisateur ou enregistrez le composant à partir d'une invite de commande avec des autorisations élevées.
Bien que je puisse facilement résoudre ce problème pour une seule machine, en exécutant en tant qu'administrateur ou ce que je veux, le script de construction doit & "juste travailler &" pour toute machine de dev.
Même échouer lors de l'enregistrement mais poursuivre la construction serait satisfaisant. Des suggestions?
Brad
La solution
Vous pouvez créer un fichier cmd contenant le texte suivant:
@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
Ensuite, vous devez désactiver l'enregistrement de la sortie et ajouter l'étape de construction personnalisée à l'aide de la commande <pathtocmdscript> $(TargetPath)
. La sortie 1 doit être définie sur $ (TargetPath) pour l’étape de construction personnalisée.
Enfin, vous recevrez un message sur l’enregistrement des progrès, mais la compilation ne s’arrêtera pas sur cette étape.