“la configuration de l'application est incorrecte” et “side-by-side de configuration est incorrecte” exécution de VS2008 64 bits version debug
Je suis en train de travailler sur un système d'exploitation 64 bits windows 7 ultimate machine VS2008 avec 64bit addon.
J'ai réussi à construire mes projets dans 32 & 64 bits, debug et release config.
La version 64 bits de débogage n'est pas de lancement; il donne l'erreur:
Impossible de Démarrer le programme xxx
Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Examiner le fichier de manifeste pour d'éventuelles erreurs. La réinstallation de cette application peut corriger ce problème. Pour plus de détail voir le journal des événements d'application.
J'ai couru le dependency walker.
À partir de la redistibutable chemin C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT
J'ai ajouté
Microsoft.VC90.DebugCRT.manifeste
msvcm90d
msvcp90d
msvcr90d
Microsoft.VC90.DebugOpenMP
vcomp90d.sll
dans le dossier bin\debug de ma solution.
Enfin dependency walker n'ont pas toutes les marques jaunes (fichiers manquants) à gauche, mais encore il a donné des erreurs comme:
Erreur: Au moins un implicite ou transmis de dépendance n'a pas été trouvé.
Erreur: Au moins un module a un suspens à l'importation dus à une exportation manquante de la fonction implicitement module dépendant.
Erreur: les Modules avec différents types de processeurs ont été trouvés.
Erreur: Le Side-by-Side informations de configuration dans "e:\xyz.EXE" contient des erreurs. L'application n'a pas pu démarrer en raison de son side-by-side de configuration est incorrecte. Consultez le journal des événements d'application ou d'utiliser la ligne de commande sxstrace.exe outil pour plus de détails (14001).
32 bits manifeste dit:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" **processorArchitecture="x86"** publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>
Tandis que la version 64 bits de débogage manifeste a:
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
Ce que je ne comprends pas, pourquoi ne le debug 32-bits exécuter avec succès?
Merci de m'aider comme je l'ai déjà vérifié beaucoup de questions mais n'ont pas trouvé de solution réalisable.
Vous tentez d'exécuter le construire sur une autre machine que vous avez construit? Habituellement, le débogage d'exécution "n'est pas redistribuable", ce qui signifie que vous ne pouvez pas l'exécuter sur d'autres machines sans la construction des modules de fusion et de les installer sur la machine que vous essayez d'exécuter le code sur.
Je ne pense pas que la question de l'aide, c'est par manque juste la version correcte de l'exécution. Le débogage d'exécution est une douleur... Généralement la construction d'un "projet d'installation" dans VS gère les modules de fusion pour vous de sorte que vous pouvez les installer avec vos binaires avec une version de débogage.
Je suis en cours d'exécution/lancement de l'exe de VS2008 de l'environnement lui-même. C'est sur la même machine où j'ai le construire.
OriginalL'auteur Kashish | 2012-01-24
Vous devez vous connecter pour publier un commentaire.
Merci pour la réponse à ma question. J'ai enfin résolu et voici la solution:-
Le mien était un Qt en fonction de VC++ solution, l'application dépendait de certains 3rd party dll & libs.
Ma tâche était de fournir 64bit l'appui de ma demande, pour laquelle j'ai dû construire Qt et 3ème partie de la dll&libs en 64 bit OS.
J'ai eu le CRT erreur quand j'ai essayé de running mon application en debug 64 bits de config. L'erreur a persisté même après que je l'ai copié à la suite de formateurs à dossier bin de mon application
redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT
:Microsoft.VC90.DebugCRT.manifest
msvcm90d.dll
msvcp90d.dll
msvcr90d.dll
Microsoft.VC90.DebugOpenMP
:vcomp90d.dll
J'ai été en mesure de lancer mon application avec succès dans le debug mode 64 bits quand je l'ai collé au-dessus de la Crt dans le bin correspondant dossiers où Qt et 3ème partie, les bibliothèques étaient présents.
OriginalL'auteur Kashish
J'ai eu le même problème après l'ajout d'un manifeste pour "l'élévation de Privilèges" à mon Delphi application console (32bits, question quand il a couru sur Win7 x64).
Le problème était lié à une dépendance mentionnés dans le fichier manifeste:
Quand je l'ai retiré du manifeste, aux côtés d'erreur a disparu.
Comment avez-vous retirer de l'manifeste?
OriginalL'auteur MrTheV
Dépend n'est pas grande à côte-à-côté dépendances, car il peut souvent faire ressembler à la dll lorsqu'on se retrouve en fait une version légèrement différente est nécessaire.
Vous pouvez utiliser sxstrace.exe pour avoir une meilleure idée de ce qu'il manque:
http://blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx
Le journal des événements montre généralement côte à côte des erreurs, mais malheureusement, elles ne vous donnent pas beaucoup d'informations autres que celles que vous avez un problème.
OriginalL'auteur Benj
Installer VS2008 SP1 pour résoudre ce problème.
Avant l'installation, assurez-vous que le "64 bits compilateurs et des outils" fonctionnalité a été activée lors de l'installation de Visual Studio bon. (Si vous l'installer après l'installation du SP1, vous aurez probablement besoin de le désinstaller et de réinstaller le SP pour obtenir le correctif.)
Pour vérifier si vous avez les SxS entrée installé, voir si il y a des répertoires avec des noms comme
amd64_microsoft.vc90.debugcrt*
dans%WinDir%\WinSxS
.La raison en est un bug dans VS2008 programme d'installation. Il n'installe la version 32 bits de l'DebugCRT dans le
<Windows>\WinSxS
cache où tous les programmes de la trouver. Il n'installe pas les mêmes Dll sous%ProgramFiles%
mais les programmes ne peuvent pas les trouver là.Tandis que la fonction contenant le x64 DebugCRT partage de l'assemblée composant est "annoncée" plutôt que de installé pour une raison quelconque. Ceci peut être vu dans les journaux d'installation que VS2008 installation laisse dans
%Temp%
de l'installation l'utilisateur par la recherche pour "DebugCRT
". Les mêmes fichiers sont en effet présents dansc:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist
(dans le cadre d'un autre composant) mais ne sont pas dupliqués àWinSxS
.(En regardant
vs_setup.msi
contenu avec Orca, le plus probable cause directe semble être que la fonctionnalité cachée entrées manque lamsidbFeatureAttributesFollowParent
drapeau, ce qui les amène à ne jamais être installé.)Quelle que soit la cause, VS2008 SP1 résout. Son installation a un effet secondaire: c'est aussi la force installe de nombreuses autres fonctionnalités qui peuvent ou peuvent ne pas avoir été sélectionné lors de VS2008 installer (par exemple, MFC/ATL temps de fonctionnement) mais par rapport à une installation endommagée, c'est une bien moindre désagrément.
OriginalL'auteur ivan_pozdeev