Pourquoi est-ce que j'obtiens "une erreur s'est produite pendant la validation. HRESULT = '80004005' lors de la construction d'un projet d'installation?
Pourquoi j'obtiens l'erreur suivante lors de la construction d'un projet d'installation?
Une erreur s'est produite lors de la validation. HRESULT = '80004005'
11 réponses
Un projet en solution avait ToolsVersion="4.0"
(en .csproj file), l'a changé en ToolsVersion="3.5"
et setup Project construit très bien.
les deux raisons que j'ai trouvées sont déjà dans d'autres réponses, mais elles sont dans des réponses séparées et pas entièrement expliquées. Donc, espérons que cela va combiner les possibilités et donner de bons moyens de déboguer chacun. :)
Raison Commune
Mon problème n'était pas une erreur de dépendance. Cependant, cela semble être la raison commune. Donc, en gros, vous devez vérifier votre fichier MSI et assurez-vous que toutes les dépendances sont toujours valables. Probablement la meilleure réponse de blog sur la façon dont vous pouvez facilement résoudre ce si c'est un problème de dépendance est une erreur s'est produite pendant la validation. HRESULT = '80004005' .
Autre Raison
mon problème avait cependant à voir avec Visual Studio versioning. Donc, si vos dépendances sont valides et que vous obtenez ce problème, alors vous résoudre si c'est un problème avec VS2010 .
en gros, si vous lancez MSBuild et voyez cet avertissement:
Le fichier de projetcontient ToolsVersion= "4.0", qui n'est pas supporté par cette version de MSBuild. En traitant le projet comme si elle avait ToolsVersion= "3.5"
alors le problème est le versioning Visual Studio. Cela signifie qu'un projet a été ouvert ou créé dans Visual Studio 2010, puis sauvegardé ou ajouté à une solution 3.5 existante. J'ai simplement cherché tous les fichiers de mon projet pour ToolsVersion="4.0"
et j'ai trouvé le fichier offensant .csproj
, Je l'ai ouvert dans un éditeur de texte et j'ai changé manuellement le 4.0
en un 3.5
.
Cette erreur est liée à une erreur de dépendance. J'ai supprimé toutes les références à mon projet de sortie primaire et je les ai rajoutées. Il compile maintenant OK!
j'ai couru contre cette question aujourd'hui. La solution dans mon cas? Redémarrez Visual Studio 2008.
dans mon cas, ma solution (VS2008) avait un projet qui était également référencé à partir d'une autre solution (VS2010). Dans la solution VS2010, j'avais amélioré le projet à .net 4.0. Lorsque j'ai réalisé plus tard que le projet était également utilisé dans une autre solution, je l'ai déclassé à .net 3.5. Pour une raison quelconque tout a semblé être changé correctement dans le fichier csproj à l'exception d'un endroit qui est mentionné ici: erreur dans le projet d'installation HRESULT = '80004005'
I je sais que c'est déjà résolu ailleurs, mais je voulais apporter un éclairage sur ce point sous un autre angle.
bien que le fait de simplement supprimer et ré-ajouter les dépendances du projet fonctionne dans de nombreux cas, il est important de noter que:
le message d'erreur" une erreur s'est produite pendant la validation. HRESULT=80004005." se produit généralement lorsque le projet est référencé à l'autre projet qui est Non ajouté à la solution currect. Prise en charge du projet de configuration uniquement projets de dépendance au sein d'une même solution. 1
j'ai moi-même passé énormément de temps sur celui-ci, bien qu'aucun de ceux-ci n'ait fonctionné. Mais j'ai trouvé une autre solution avec un piratage de registre, vous devez ajouter un nouveau DWORD ( EnableOutOfProcBuild
) valeur de ( 0
) à HKCU\SOFTWARE\Microsoft\VisualStudio.0_Config\MSBuild\EnableOutOfProcBuild
Note : C'est pour Visual Studio 2015
dans mon cas, J'avais installé Visual Studio 2010 à côté de Visual Studio 2008. Mon projet d'installation, une fois ouvert dans Visual Studio 2008 a donné la même erreur, mais était OK dans Visual Studio 2010.
si copié sur une autre machine qui n'avait pas Visual Studio 2010, mais avait Visual Studio 2008, alors il compilerait.
j'ai installé Visual Studio 2010 et converti les solutions à cette version. En raison de problèmes de performance, J'ai changé mes solutions en Visual Studio 2008. Tout allait mieux maintenant, mais j'ai une erreur quand j'ai essayé de compiler le projet d'installation. J'ai réalisé que J'avais un projet de test Visual Studio 2010 dans ma solution donc tout ce que j'avais à faire était de décharger le projet de Test et de construire le projet de configuration à nouveau.
résumé: déchargez tout projet Visual Studio 2010 en solution.
j'espère que ça aidera.
je sais que c'est un peu une vieille nouvelle, mais mon problème particulier et la solution ne sont pas spécifiquement énoncés ici (autant que je peux dire - si je l'ai manqué, je m'excuse).
j'ai eu le même problème. Il ne serait pas compiler mon projet, mais n'avait pas d'erreurs. Tout ce que je voyais, c'était "la construction a échoué". J'ai ouvert le fichier" Output " (Click View--> Output on menu), et il m'a dit exactement quelle référence (dans mon cas A.dll) a été à l'origine du problème.
j'ai supprimé et recréé la référence et il a changé le nom de référence de Microsoft.Bureau.Core (qui n'était apparemment qu'une version 32 bits) à "OFFICE". Alors tout a bien fonctionné. -- Assurez-vous de noter le chemin du fichier auquel vous faites référence dans la fenêtre Propriétés... Mon nouveau chemin était exactement le même, mais le nom de référence a changé de toute façon.... encore de me gratter la tête...
ainsi est la morale de l'histoire... Quand vous n'avez pas d'erreurs et que votre construction échoue, vérifiez l'onglet "Sortie" et cela pourrait aider.
j'ai lu cette réponse d'un autre post sur Stack Overflow, et il a fonctionné pour moi.
ouvrir votre fichier setup project (.vdproj) dans Bloc-notes (ou tout autre éditeur de texte). Supprimer ces lignes au début de la .fichier vdproj:
"SccProjectName" = "8:"
"SccLocalPath" = "8:"
"SccAuxPath" = "8:"
"SccProvider" = "8:"
de Construire à nouveau - l'erreur a disparu. Cette erreur ne m'a pas empêché de déployer, construire, déboguer (ou autre) mon projet; elle m'a juste ennuyé. Et c'est arrivé même si je mettais tout les projets à construire dans une configuration courante et le projet de configuration pas à.