Erreur de résolution MSB8011: Impossible d'enregistrer la sortie
Une erreur étrange:
erreur MSB8011: impossible d'enregistrer la sortie. Veuillez essayer de l'activation Par l'utilisateur
La Redirection ou enregistrer le composant à partir d'une invite de commandes avec
des autorisations élevées. C:\Program
Files\MSBuild\Microsoft.Rpc\v4.0\Microsoft.CppCommon.objectifs 744
J'ai eu cette erreur lorsque vous essayez d'utiliser OpenSceneGraph (OSG) dans un contrôle ActiveX. Une recherche Google a montré toutes sortes de solutions qui n'a pas vraiment résoudre le problème ou de localiser la cause exacte de l'erreur, donc je voudrais mettre la solution en un seul endroit: Ici.
J'ai trouvé la solution, et vais répondre à ma propre question bientôt, de sorte que les gens peuvent trouver leur solution s'ils rencontrent le même problème.
source d'informationauteur Nav
Vous devez vous connecter pour publier un commentaire.
Cette erreur se produit lorsque Visual Studio (2010) ne peut pas trouver l'dépendante des fichiers dll qui sont requis par le programme pour la création de l'OCX. L'OCX est créé dans le répertoire de Débogage du projet (pour les versions de Débogage), et de préciser le "répertoire de Travail" (dans les paramètres du projet) que le dossier où la personne à charge de DLL sont, ne l'aidera pas à Visual Studio dans la localisation de la DLL.
Maintenant le hic, c'est (c'est ce qui en fait un casse-tête pour résoudre le problème) que, parfois, sans Visual Studio être capable de créer de l'OCX, vous ne serez pas en mesure d'exécuter Dependency Walker sur l'OCX. Donc vous ne serez jamais comprendre que le manque de DLL sont le problème.
Si vous connaissez le nom de la DLL doit être placé dans le dossier de Débogage, il suffit de les placer là, et l'erreur disparaît.
Si vous ne savez pas, et si votre OCX n'ai pas créées, puis allez dans les paramètres de projet > Linker > Général > Registre de Sortie
et de définir la valeur "Non". Cela permettra de créer votre OCX pour vous, mais ne passent pas par le processus d'enregistrement, ce qui est quand il a besoin de la DLL dépendante.
Une fois que vous double-cliquez sur l'OCX et Dépendance il vous montre les DLL manquantes avec cercle jaune icônes, il suffit de placer ces DLL dans le même dossier que l'OCX, et que votre programme fonctionne correctement. C'est aussi simple que cela.
MSB8011 semble être une erreur générique déclenché chaque fois que regsvr32 rencontre un problème. Dans mon cas, regsvr32 terminé avec le code 4 lorsque Par-Enregistrement de l'Utilisateur est réglé sur "Oui", mais la DLL, j'ai été la construction n'a pas de définir un DllInstall point d'entrée.
Vous pouvez également le faire via VS 2013 IDE par le lancement de cette IDE de programme fichiers de raccourci, Sélectionnez Visual Studio 2010/2013 puis cliquez droit et sélectionnez exécuter en tant qu'administrateur, après IDE lancé, puis ouvrez le fichier de votre solution et de le construire, vous n'aurez jamais de telles erreurs en raison de regsrv32 DLL/COM inscription
Sur le
Property
page aller à lavous pourriez être en se référant à lui comme un
/Service
. Modifiant les options comme indiqué ci-dessous pourrait vous aider.Avant modification:
Après modification:
Cela m'a aidé, j'espère qu'elle vous aidera aussi.
J'ai essayé en utilisant exécuter en tant que "Administrateur" VS 2015, il est en mesure de résoudre le problème