Question

Je suis en train de comprendre pourquoi une version de débogage soufflait avec le « microsoft.vc80.debugcrt d'assemblage dépendant n'a pas pu être trouvé » erreur d'événement.

Après avoir supprimé tout (rien ne .cpp ou .h) et de recréer la solution -. J'avais encore le problème

Une recherche Google a été stérile et une nouvelle installation de VS n'a produit aucun changement.

J'ai eu les dll dans C:. \ WINDOWS \ WinSxS \ x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c

J'ai ouvert le débogage \ \ fichier .exe.intermediate.manifest et il avait 2 (dependentAssembly) entrées:
    1er: name = Version 'Microsoft.VC80.DebugCRT' = '8.0.50608.0'
    2ème: name = Version 'Microsoft.VC80.DebugCRT' = '8.0.50727.762'

Si je supprime un et de changer l'autre à  name = la version 'Microsoft.VC80.DebugCRT' = '8.0.50727.42'

Je peux obtenir une version qui va commencer.

D'accord, je n'ai VS2008 installé - mais ce qui contrôle les versions? ou Comment puis-je obtenir la bonne version dll de débogage à « coller ».

VS2008 a été dé-installé dans le panneau de commande.

EDIT:. Rien dans le Registre si DebugCRT est recherché
      le chemin de l'environnement pointe vers les dossiers VS8.
      Il y a seulement 1 dossier DebugCRT dans le répertoire c: \ windows \ winsxs \ policies dossier
         (8.0.50.727.42)
      C: \ windows \ winsxs \ dossier n'a que se manifeste la version .42 de .cat et .manifest
      Le fichier .manifest (dans le dossier manifeste ci-dessus) a version = "8.0.50727.42"

Précision: le fichier manifeste a 2 entrées « dependentAssembly » avec chacune des versions différentes et non le .42. Je peux supprimer 1 entrée et changer la version de l'autre pour correspondre à la .42 pour obtenir une version de débogage qui commence.

EDIT2: J'utilise aussi stimuler et à l'intérieur des DLL il y a la version 0,762

Était-ce utile?

La solution

La version a été repris par des DLL Boost qui étaient un téléchargement, la version pré-compilée de Boost. Une fois que les bibliothèques ont été recompilés (et re-installé) une nouvelle version de la solution produit un manifeste avec une version unique et le programme lié et a couru.

-Vérifier les libs et dll qui sont importés dans la solution pour la version utilisée.

Autres conseils

VS 2008 est vc90 pas VC80, de sorte que ne fait pas partie du problème. La relation entre l'ensemble manifeste demandée et SxS-chargés assenbly se trouve dans C: \ Windows \ WinSxS \ Stratégies. IIRC, "8.0.50608.0" est généré par VS2005 pré-SP1. Il est faux, et aurait dû être 8.0.50727.42, mais cela est pris par la politique.

Je ne sais pas comment vous obtenez deux manifestes. Quels sont vos paramètres manifestes?

Je vous suggère de reconstruire Boost dans votre environnement. En outre, vous pouvez en finir avec le côté par assemblages côte à côte tout à fait en reliant le CRT statiquement ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top