L'application n'a pas pu démarrer parce que sa configuration côte à côte est incorrecte
quand je regarde le journal des événements, j'ai cette erreur.
échec de la génération du contexte D'Activation pour "C:projectDebugMyLibrary.DLL." Dépendante De L'Assemblée Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" introuvable. Veuillez utiliser sxstrace.exe pour un diagnostic détaillé.
j'ai utilisé sxstrace pour enregistrer l'erreur et voici le résultat:
================= Début De La Génération Du Contexte D'Activation. Paramètre D'Entrée: Drapeaux = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US;en Chemin De Manifeste = C:Windowssystem32cmd.EXE AssemblyDirectory = C:Windowssystem32
Fichier De Config =
INFO: Analyse d'un Fichier de Manifeste C:Windowssystem32cmd.EXE. INFO: L'identité de définition de manifeste est Microsoft.Windows.Système de fichiers.CMD,processorArchitecture="x86", type="win32", version="5.1.0.0". INFO: la génération de contexte D'Activation a réussi. Fin De Génération De Contexte D'Activation.
================= Début De La Génération Du Contexte D'Activation. Paramètre D'Entrée: Drapeaux = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US;en Chemin De Manifeste = C:DebugTheLibrary.DLL AssemblyDirectory = C:Debug
Fichier De Config =
INFO: Analyse d'un Fichier de Manifeste C:DebugTheLibrary.DLL. INFO: définition manifeste L'identité est (nulle). INFO: référence: Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" INFO: résoudre la référence Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8". INFO: résolution de référence pour ProcessorArchitecture x86. INFO: résoudre la référence pour la Culture neutre. INFO: appliquer une politique contraignante. INFO: aucune politique d'édition trouvée. INFO: aucune redirection de politique contraignante trouvée. INFO: début de l'assemblage. INFO: je n'ai pas trouvé L'assemblage dans WinSxS. INFO: tentative de sonder le manifeste à C:WindowsassemblyGAC_32Microsoft.VC90.DebugCRT9.0.21022.8__1fc8b3b9a1e18e3bMicrosoft.VC90.DebugCRT.DLL. INFO: tentative de sonder le manifeste à C:DebugMicrosoft.VC90.DebugCRT.DLL. INFO: tentative de sonder le manifeste à C:DebugMicrosoft.VC90.DebugCRT.MANIFEST. INFO: tentative de sonder le manifeste à C:DebugMicrosoft.VC90.DebugCRTMicrosoft.VC90.DebugCRT.DLL. INFO: tentative de sonder le manifeste à C:DebugMicrosoft.VC90.DebugCRTMicrosoft.VC90.DebugCRT.MANIFEST. INFO: Did pas trouver manifeste pour la culture Neutre. INFO: sonde de fin d'assemblage. Erreur: ne peut pas résoudre le renvoi Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8". Erreur: la génération du contexte D'Activation a échoué. Fin De Génération De Contexte D'Activation.
ne peut pas résoudre la référence Microsoft.VC90.DebugCRT, processorArchitecture=...
des idées?
9 réponses
Montage Dépendant Microsoft.VC90.DebugCRT, ... could not be found
Oui, cela ne peut être trouvé que sur une machine qui a Visual Studio installé. Le DebugCRT n'est pas distribuable. Et ça n'a pas de sens d'écrire du code C ou C++ et de déployer la version debug, c'est un beaucoup plus lent.
déployer la version Release build de votre DLL. Et les bibliothèques VC++, une des cases à cocher dans les prérequis d'une configuration projet.
nous venons d'avoir cette même erreur exacte, mais la cause était tellement trompeuse par rapport à l'erreur, il est espérons qu'il vaut la peine d'ajouter ici comme il vient en haut sur google...
"L'application n'a pas pu démarrer en raison de son side-by-side de configuration est incorrecte" erreur est survenue lors de l' démarrage d'un service windows. Dans notre cas, cela a été causé par l'application de services.config fichier xml non valide - quelqu'un l'avait édité manuellement et collé une étiquette de fermeture supplémentaire. La modification a résolu le message d'erreur" sans lien de quelque façon que ce soit".
la façon la plus rapide de vérifier cela serait de coller le fichier xml dans l'un des nombreux validateurs xml en ligne gratuits sur le web.
vous pouvez simplement supprimer le fichier manifest de votre chemin d'application, alors l'exécutable fonctionnera correctement,
Pour vérifier si vous utilisez Windows 7 (doit être la même pour 8 et Vista)
ouvrir à partir de l'outil d'administration du système de panneau de configuration et sélectionner le visualiseur d'événements
cliquez sur Windows logs - > Application
Trouvez votre journal d'erreur dans la colonne side-by-side
Notez le numéro de ligne où l'erreur se produit.
puis, avec un éditeur tel write ou notepad, ouvrez votrefilename.EXE.manifeste
puis du numéro de ligne </ to />
supprimez les lignes et sauvegardez le fichier
Votre problème est résolu.
ceci est marqué C#, donc je vais donner le C # réponse: quelque chose a mutilé votre nom de projet.EXE.fichier de configuration.
tirez-le vers le haut dans un éditeur de texte et il y a des chances que quelque chose ne sera pas fermé correctement ou il y aura quelques caractères d'ordures à la fin. Tu comprendras pourquoi ça s'est passé plus tard. Mais pour l'instant, réparez-le et vous pourrez lancer.
j'ai trouvé côte à côte une erreur il y a une erreur système dans app.fichier de configuration. trouvez bug dans votre application.fichier de configuration correcte.
assurez-vous que vous n'avez pas égaré configurations, comme un <httpsTransport>
dans le cadre d'une liaison de service Web http.
j'ai eu ce problème et c'était un simple problème avec le version
valeur assemblyIdentity
élément de l'application.le fichier de manifeste. Apparemment version
doit avoir tous les quatre numéros (sauf assemblyIdentity
est ignoré, ce qui est le cas si le manifeste est incorporé).
Donc le correctif ici:
<assemblyIdentity name="MyApplication" version="1.0.1" publicKeyToken="D3567E058552E2DF" type="win32" processorArchitecture="x86" />
set
version="1.0.1.0"
Après ça, tout a été hunky-dory.
je voulais préciser une raison de plus pour laquelle cette erreur pourrait survenir: le mauvais encodage de *.config
fichier.
Le fichier doit être UTF-8
, tandis que vous pouvez réellement obtenir ANSI
accidentellement de nos jours en créant le fichier de configuration manuellement en utilisant notepad.exe
.