web-dev-qa-db-fra.com

L'application n'a pas pu démarrer car sa configuration côte à côte est incorrecte

Exception non gérée: System.IO.FileLoadException: impossible de charger un fichier ou un assemblage Y ' TheLibrary , Version = 1.2.3905.36284, Culture = neutre, PublicKeyToken = 14 04827c3a8f2601' ou une de ses dépendances. L'application n'a pas pu démarrer Car sa configuration côte à côte est incorrecte. Veuillez consulter le journal des événements d'application pour plus de détails. (Exception de HRESULT: 0x800736B1) Nom du fichier: ' TheLibrary , Version = 1.2.3905.36284, Culture = neutral, PublicKe YToken = 1404827c3a8f2601' -> Système. Runtime.InteropServices.COMException (0x800 736B1): L'application n'a pas pu démarrer car sa configuration côte à côte On est incorrecte. Veuillez consulter le journal des événements d'application pour plus de détails. (Exceptio N de HRESULT: 0x800736B1)

quand je regarde le journal des événements, je reçois cette erreur.

La génération du contexte d'activation a échoué pour "C:\project\Debug\MyLibrary.dll". Ensemble dépendant Microsoft.VC90.DebugCRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "9.0.21022.8" est 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: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US; en ManifestPath = C:\Windows\system32\cmd.exe AssemblyDirectory = C:\Windows\system32 \

Fichier de configuration de l'application =

INFO: fichier de manifeste d'analyse C:\Windows\system32\cmd.exe. INFO: identité de définition de manifeste est Microsoft.Windows.FileSystem.CMD, processorArchitecture = "x86", type = "win32", version = " 5.1.0.0 ". INFO: La génération du contexte d'activation a réussi. Terminer la génération du contexte d'activation.

================ Début de la génération du contexte d'activation. Paramètre d'entrée: Flags = 0 ProcessorArchitecture = x86 CultureFallBacks = en-US; en ManifestPath = C:\Debug\TheLibrary.dll AssemblyDirectory = C:\Debug \

Fichier de configuration de l'application =

INFO: fichier de manifeste d'analyse C:\Debug\TheLibrary.dll. INFO: identité de définition de manifeste est (null). INFO: référence: Microsoft.VC90.DebugCRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "9.0.21022.8" INFO: Résolution Microsoft.VC90.DebugCRT de référence, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32 ", version =" 9.0.21022.8 ". INFO: Référence de résolution pour ProcessorArchitecture x86. INFO: Résolution de référence pour la culture Neutre. INFO: Application de la stratégie contraignante. INFO: Aucune politique de l'éditeur n'a été trouvée. INFO: Aucune redirection de politique contraignante n'a été trouvée. INFO: Début de la vérification de l'assemblage. ____.] INFO: Tentative de vérification du manifeste à C:\Windows\Assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL. INFO: Tenter de rechercher manifeste à C:\Debug\Microsoft.VC90.DebugCRT.DLL . INFO: Tentative de vérification du manifeste à C:\Debug\Microsoft.VC90.DebugCRT.MANIFEST. INFO: Tentative de vérification du manifeste à C:\Debug\Microsoft.VC90.DebugCRT\Microsoft .VC90.DebugCRT.DLL. INFO: Tentative de vérification du manifeste à C:\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST. INFO: Impossible de trouver le manifeste de la culture. Neutre. INFO: Fin de la vérification de l'assemblage. ERREUR: Impossible de résoudre la référence Microsoft.VC90.DebugCRT ,oprocesseurArchitecture = "x86 ", publicKeyToken =" 1fc8b3b9a1e18e3b ", tapez =" win32 ", version =" 9.0.21022.8 ". ERREUR: la génération du contexte d'activation a échoué. Terminer la génération du contexte d'activation.

Impossible de résoudre la référence Microsoft.VC90.DebugCRT, processorArchitecture = ...

des idées?

19
DarthVader

Assemblée dépendante Microsoft.VC90.DebugCRT, ... est introuvable

Oui, cela ne peut être trouvé que sur un ordinateur sur lequel Visual Studio est installé. Le DebugCRT n'est pas distribuable. Et cela n’a aucun sens d’écrire du code C ou C++ et de déployer la version de débogage correspondante, c’est un lot lent.

Déployez la version de build Release de votre DLL. Et les bibliothèques VC++, une des cases à cocher dans les Prérequis d'un projet d'installation.

16
Hans Passant

Nous venons de commettre exactement la même erreur, mais la cause était tellement trompeuse par rapport à l’erreur qu’elle mérite d’être ajoutée ici, car elle arrive en tête sur google ...

L'erreur "L'application n'a pas pu démarrer car sa configuration côte à côte est incorrecte" s'est produite lorsque démarrage d'un service Windows . Dans notre cas, cela est dû au fait que les services application.config Le fichier xml n'était pas valide - quelqu'un l'avait modifié manuellement et collé dans une balise de fermeture supplémentaire. Cette modification a résolu le message d'erreur «Aucune relation, de quelque manière que ce soit».

Le moyen le plus rapide de vérifier cela consiste à coller le fichier XML dans l’un des nombreux validateurs XML en ligne gratuits sur le Web.

18
Fetchez la vache

Ceci est marqué C #, alors je vais donner la réponse C #: Quelque chose a altéré votre fichier nomprojet.exe.config.

Récupérez-le dans un éditeur de texte et il y a des chances que quelque chose ne soit pas fermé correctement ou qu'il y ait quelques caractères parasites à la fin. Vous pouvez comprendre pourquoi c'est arrivé plus tard. Mais pour le moment, corrigez-le et vous pourrez le lancer.

4
Jason Kester

Vous pouvez simplement supprimer le fichier manifeste de votre chemin d’application, puis l’exécutable fonctionnera correctement.

4
praveen m.p

J'ai trouvé une erreur côte à côte, une erreur système ou une erreur système dans le fichier app.config. trouver un bogue dans votre fichier app.config, corrigez-le. 

3
Rahul Singh

Pour vérifier si vous utilisez Windows 7 (doit être identique pour 8 et Vista)

Ouvrez l'outil d'administration du système du panneau de commande et sélectionnez l'afficheur d'événements.

Cliquez sur les journaux de Windows-> Application

Trouvez votre journal des erreurs sous la colonne côte à côte

Notez le numéro de ligne où l'erreur se produit.

Puis, avec un éditeur tel que cette écriture ou ce bloc-notes, ouvrez votrefichier.exe.manifest

Ensuite, à partir du numéro de ligne </ to />, supprimez les lignes et enregistrez le fichier. 

Votre problème est résolu.

3
Ismail Gunes

Je voulais cerner une raison de plus pour laquelle cette erreur pouvait survenir: encodage incorrect du fichier *.config.

Le fichier doit être dans UTF-8, alors que vous pouvez réellement obtenir ANSI aujourd'hui de manière accidentelle en créant un fichier de configuration manuellement à l'aide de notepad.exe.

2
shytikov

Assurez-vous de ne pas avoir de configurations mal placées, comme un <httpsTransport> dans une liaison de service Web http.

1
rox

J'ai eu ce problème et c'était un problème simple avec la valeur version dans l'élément assemblyIdentity du fichier app.manifest. Apparemment, version doit avoir les quatre chiffres (sauf si assemblyIdentity est ignoré, ce qui est le cas si le manifeste est incorporé).

Donc, la solution ici: 

<assemblyIdentity name="MyApplication" version="1.0.1" publicKeyToken="D3567E058552E2DF" type="win32" processorArchitecture="x86" />

est de définir

version="1.0.1.0"

Après cela, tout était dingue.

1
SteveCinq