Je reçois cette erreur depuis un certain temps lorsque j'utilise devenv sur une construction automatique. J'ai parcouru tous les sites Web que je peux trouver, et les réponses habituelles mentionnent des dépendances rafraîchissantes (ce qui, je crois, les corrige pour le déploiement manuel, mais pas pour l'automatique) et la suppression du codage de contrôle de source des projets, ce qui ne m'a pas aidé.
L'erreur ne se produit pas à chaque fois que je construis, mais elle semble aléatoire sur différents projets de déploiement à chaque fois.
Quelqu'un a-t-il des conseils sur pourquoi exactement cette erreur se produit et comment y remédier?
elegant solution
) dans le gist, à mon humble avis.Réponses:
Il s'agit d'un problème connu dans Visual Studio 2010 (une condition de concurrence critique). Voir cet élément de connexion .
Nous avons également rencontré ce problème et avons eu un appel de support très insatisfaisant sur ce problème avec Microsoft. Pour faire court: c'est un problème connu, il ne sera pas résolu et Microsoft conseille de s'éloigner des projets d'installation de Visual Studio (.vdproj).
Nous avons contourné ce problème en déclenchant la génération MSI une deuxième fois lorsqu'elle échoue une première fois. Pas bien, mais cela fonctionne la plupart du temps (le taux d'erreur est passé de ~ 10% à ~ 1%).
la source
Mise à jour pour ceux qui ont rencontré ce problème pour VS2013 ou VS2015 après la mise à niveau d'un projet d'installation VS200X à l'aide de l'extension Microsoft Visual Studio Installer Projects.
Suivre la recette de la v1.0.0.0 de MS a finalement fait fonctionner pour moi:
Projets d'installation de Microsoft Visual Studio
la source
Mise à jour au 14/06/2017
L'extension Microsoft Visual Studio 2017 Installer Projects comprend désormais un outil d'assistance de ligne de commande pour rendre le paramètre de registre beaucoup plus facile à appliquer Microsoft Visual Studio 2017 Installer Projects
Exemples de chemins de l'outil (en fonction de la version de Visual Studio installée)
À partir du README
Cet outil simple est destiné à aider les utilisateurs à définir la clé de registre nécessaire pour contourner cette erreur qui peut apparaître lors de la création de projets d'installation à l'aide de versions de ligne de commande:
ERREUR: une erreur s'est produite lors de la validation. HRESULT = '8000000A'
L'outil est destiné à Visual Studio 2017+ et définit cette clé de registre pour une instance de Visual Studio installée particulière pour l'utilisateur actuel. Donc, si vous définissez ceci sur un agent de build, assurez-vous d'utiliser le compte d'utilisateur que la build utilisera.
Exécutez «Aide DisableOutOfProcBuild.exe» pour plus de détails sur l'utilisation.
la source
J'ai lu quelque part en ligne à ce sujet, et je l'ai corrigé comme ceci (cela a été suggéré par quelqu'un) :
supprimez ces lignes au début du fichier .vdproj:
Cette erreur ne m'a pas empêché de déployer, construire, déboguer (ou quoi que ce soit) mon projet, cela m'a juste ennuyé. Et cela s'est produit même si je définissais tous les projets pour qu'ils soient construits dans une configuration actuelle et que le projet d'installation ne le soit pas.
la source
Solution permanente (+ pour build-machines)
Visual Studio 2017
Pour VS 2017, appelez les scripts CMD suivants sous votre compte Windows cible:
Communauté Edition
professionnelle Edition
Enterprise Edition
TL et DR. Notes pour les pauvres
DisableOutOfProcBuild.exe
, la solution proposée par Microsoft que j'utilise pour VS 2017.DisableOutOfProcBuild.exe
ne suppose pas que vous l'appellerez hors de son dossier d'installation . Donc, vous ne pouvez pas copier ce fichier .exe. (Au fait, si vous voulez construire .vdproj, vous devez installer VS.)DisableOutOfProcBuild.exe
ne fonctionnera que si le répertoire CMD actuel est défini sur l'emplacement d'installation de DisableOutOfProcBuild.exe.À titre d'exemple, pour l'édition VS Professional, nous devons appeler
Visual Studio 2015 et versions antérieures
par CMD pour l'utilisateur Windows actuel
Pour de nombreuses personnes, la création / correction sous
HKEY_CURRENT_USER\..
ne fonctionne pas toujours ou ne fonctionne pas en permanence.En essayant de résoudre cela, j'ai trouvé qu'en fait je dois créer / modifier une clé étrange sous HKEY_USERS
HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Mais j'ai également trouvé que si j'utilise une console CMD
HKCU
avec le correctif proposé,REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
cela écrira la valeur exactement dans cette clé étrange HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , pas dans HKEY_CURRENT_USER .
Donc, cela fonctionne dès le premier coup et pour toujours. Utilisez simplement la console CMD.
Solveur pour les serveurs de construction
Par contre ce code fonctionne toujours pour un compte utilisateur actuel qui le lance (à cause de HKEY_CURRENT_USER). Mais les serveurs de build utilisent souvent des comptes dédiés ou un système local, etc.
Je l'ai corrigé sur mes machines de construction en ajoutant le fichier de commandes simple suivant à mes tâches de construction (Jenkins, TeamCity, CruiseControl)
VS-2015 , VS-2013 , VS-2017-Communauté , VS-2017-Professionnel , VS-2017-Entreprise
la source
Comme indiqué dans les commentaires ici , pour VS2017, vous devrez créer le DWORD HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0_ [IDKey] _Config \ MSBuild \ EnableOutOfProcBuild Remplacer [IDKey] par le suffixe d'ID de la sous-clé 15.0 existante de VisualStudio .
Par exemple, si sous VisualStudio vous voyez la clé "15.0_abcd1234", ce serait "15.0_abcd1234_Config".
la source
Le correctif est maintenant téléchargé ici:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=33186
Vous pouvez lire à ce sujet ici:
http://connect.microsoft.com/VisualStudio/feedback/details/595632/inconsistent-hanging-with-devenv-2010
la source
J'ai été confronté à ce problème après avoir déplacé mon projet sur un autre PC (VS 2010, plusieurs projets dans une solution).
Il était déjà construit mon projet sur l'ordinateur source, mais après avoir copié vers la cible, je n'ai pas pu créer mon projet d'installation et j'ai cette erreur.
J'ai ouvert le
/Debug
dossier sous ma configuration chemin racine du projet, il y avaitMyProject.msi
et dessetup.exe
fichiers, je les ai supprimés et rebâtit mon projet, il a travaillé. J'espère que cela fonctionne aussi pour certains gars.la source
La vérification des dépendances du projet peut aider.
Dans VS 2010, faites un clic droit dans votre explorateur de solutions, puis cliquez sur Dépendances détectées et actualiser les dépendances, cela résout parfois le problème.
la source
J'utilise VS 2017 mais aucune des solutions ci-dessus ne fonctionne. Donc, mise à niveau de la dernière version de VS 2017 et application de la solution @AussieAsh et de son bon fonctionnement ...
J'espère que cette solution peut que quelqu'un fonctionnera.
la source
avec moi, cela a été causé par un mauvais fichier .suo. (causé par skydrive) la suppression de ce fichier a résolu le problème.
la source
Visual Studio 2017 stocke les informations précédemment stockées dans le registre public dans un nouveau registre privé: C: \ Users \\ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_6de65198 \ privateregistry.bin
C'est là que vous devez ajouter EnableOutOfProcBuild selon les instructions pour VS2013 / VS2015.
Pour mettre à jour le registre privé, vous pouvez utiliser Regedit.
Cliquez pour sélectionner le nœud HKEY_USERS.
Sélectionnez Fichier> Charger la ruche et accédez au fichier privateregistry.bin. Lorsque vous le sélectionnez, Regedit vous demandera un nom - peu importe comment vous l'appelez car nous aurons bientôt terminé.
Maintenant, la structure du registre apparaîtra et vous pouvez accéder à Microsoft \ VisualStudio \ 15.0_Config \ MSBuild
Créez un nouveau DWORD EnableOutOfProcBuild avec une valeur de 0.
Une fois terminé, sélectionnez la racine de la ruche (quel que soit votre nom) et utilisez Fichier> Décharger la ruche pour vous en détacher.
Maintenant ça devrait marcher: o)
la source
Mon Visual Studio 2013 est en quelque sorte devenu expérimental , il a donc commencé à utiliser une autre clé de registre pour EnableOutOfProcBuild
Pour être sûr, je viens d'ajouter une autre ligne dans mon fichier de commandes pour définir la valeur de registre et cela a commencé à fonctionner:
la source
Lance juste cet exe
(Édition communautaire Visual Studio 2017)
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
(Édition Entreprise de Visual Studio 2017)
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
la source
D'accord, j'ai examiné ce problème jusqu'à ce que je sois bleu au visage, rouge au visage, perdant mes cheveux et perdant la tête, et j'ai essayé chaque pas que je pouvais trouver. :-RÉ
Ma solution pour Visual Studio 2017 / TeamCity était une combinaison des deux solutions de @ it3xl et d'une assistance de @ Night94 .
Le problème semblait être que la clé de registre de l' utilisateur TeamCity était manquante.
DisableOutOfProcBuild.exe
comme mentionné par @AussieAsh ne fonctionnait donc pas car elle ajoutait la clé de registre pour mon utilisateur uniquement.La solution était donc d'ajouter ce qui suit en tant qu'étape de construction de ligne de commande depuis TeamCity avant MSBuild:
Une fois cette étape exécutée, elle peut être supprimée si nécessaire.
Résumé de la solution
Soit:
DisableOutOfProcBuild.exe
tant qu'utilisateur TeamCity , ouHKCU\SOFTWARE\Microsoft\VisualStudio
et vérifiez la version répertoriée, puis modifiez ce qui précèdeREG ADD
pour correspondre aux versions (n'oubliez pas d'ajouter_Config
) comme étape dans la version TeamCity.Encore une fois, ce qui précède ne devrait être fait qu'une seule fois. Vous pouvez désactiver pour accéder à TeamCity en le laissant pour référence si vous rencontrez à nouveau le problème.
la source
Étape 1 J'ai "créé une clé DWORD avec le nom" EnableOutOfProcBuild "et défini sa valeur sur" 0 "sur le chemin ci-dessous
Remarque: assurez-vous que vous êtes connecté avec le même utilisateur que vous essayez de créer le projet
Cela fonctionne bien pour moi.
la source
Eu ce problème aujourd'hui, essayez de redémarrer Visual Studio, si cela ne le fait pas, créez un nouveau projet, enregistrez-le, puis copiez les fichiers du projet problématique. les deux méthodes ont fonctionné pour moi.
la source
Veuillez d'abord nettoyer la solution, construire la solution et ensuite essayer de construire le programme d'installation. Cela supprimera l'erreur.
la source