it-swarm.com.de

Die Anwendung konnte nicht gestartet werden, da ihre Side-by-Side-Konfiguration nicht korrekt ist

Nicht behandelte Ausnahme: System.IO.FileLoadException: Datei oder Assembly konnte nicht geladen werden. Y ' TheLibrary , Version = 1.2.3905.36284, Kultur = neutral, PublicKeyToken = 14 04827c3a8f2601' oder eine seiner Abhängigkeiten. Die Anwendung konnte Nicht starten, da ihre Side-by-Side-Konfiguration falsch ist. Weitere Informationen finden Sie im Ereignisprotokoll der Anwendung . (Ausnahme von HRESULT: 0x800736B1) Dateiname: ' TheLibrary , Version = 1.2.3905.36284, Kultur = neutral, PublicKe YToken = 1404827c3a8f2601' ---> System. Runtime.InteropServices.COMException (0x800 736B1): Die Anwendung konnte nicht gestartet werden, da ihre Side-by-Side-Konfiguration Falsch ist. Weitere Informationen finden Sie im Anwendungsereignisprotokoll. (Ausnahme N von HRESULT: 0x800736B1)

wenn ich das Ereignisprotokoll anschaue, erhalte ich diesen Fehler.

Die Generierung des Aktivierungskontexts für "C:\project\Debug\MyLibrary.dll" ist fehlgeschlagen. Abhängige Assembly Microsoft.VC90.DebugCRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "9.0.21022.8" wurde nicht gefunden. Bitte verwenden Sie sxstrace.exe für eine detaillierte Diagnose.

Ich habe den Fehler mit sxstrace protokolliert und hier ist das Ergebnis: 

[. .____] ================= Start Aktivierung Kontext Generation Eingangsparameter:. [. .____] Flags = 0 [. .____] = Processor x86 CultureFallBacks = de-DE; de ManifestPath = C:\Windows\system32\cmd.exe AssemblyDirectory = C:\Windows\system32 \

Anwendungskonfigurationsdatei =

INFO: Analysieren der Manifestdatei C:\Windows\system32\cmd.exe. INFO: Manifestdefinitionsidentität ist Microsoft.Windows.FileSystem.CMD, processorArchitecture = "x86", type = "win32", version = " 5.1.0.0 ". INFO: Aktivierungskontexterzeugung erfolgreich abgeschlossen. Ende der Aktivierungskontextgenerierung.

[. .____] ================= Start Aktivierung Kontext Generation Eingangsparameter:. [. .____] Flags = 0 [. .____] = Processor x86 CultureFallBacks = de-DE; de ManifestPath = C:\Debug\TheLibrary.dll AssemblyDirectory = C:\Debug \

Anwendungskonfigurationsdatei =

INFO: Analysieren der Manifestdatei C:\Debug\TheLibrary.dll. INFO: Manifestdefinitionsidentität ist (null). INFO: Referenz: Microsoft.VC90.DebugCRT, processorArchitecture = "x86", PublicKeyToken = "1fc8b3b9a1e18e3b" type = "win32", version = "9.0.21022.8" INFO: Beheben von Referenz Microsoft.VC90.DebugCRT, processor = "x86", PublicKeyToken = "1fc8b3b9a1e18e3b" type = "win32 ", version =" 9.0.21022.8 ". INFO: Auflösen der Referenz für ProcessorArchitecture x86. INFO: Auflösen der Referenz für Kultur Neutral. INFO: Anwenden der Bindungsrichtlinie. [.____. .] INFO: Es wurden keine Publisher-Richtlinien gefunden. INFO: Es wurde keine verbindliche Richtlinienumleitung gefunden. INFO: Starten der Assembly-Prüfung. INFO: Die Assembly wurde in WinSxS nicht gefunden. INFO: Versuch, das Manifest unter C:\Windows\Assembly\GAC_32\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL zu untersuchen. INFO: Es wurde versucht zu prüfen Manifest unter C:\Debug\Microsoft.VC90.DebugCRT.DLL INFO: Versuch, das Manifest unter C:\Debug\Microsoft.VC90.DebugCRT.MANIFEST zu untersuchen. INFO: Versuch, das Manifest unter C:\Debug\Microsoft.VC90.DebugCRT\Microsoft zu untersuchen .VC90.DebugCRT.DLL. INFO: Versuch, das Manifest unter C:\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST zu untersuchen. INFO: Kein Manifest für Kultur gefunden. Neutral. INFO: End Assembly Probing. FEHLER: Der Verweis Microsoft.VC90.DebugCRT, processorArchitecture = "x86 kann nicht aufgelöst werden ", publicKeyToken =" 1fc8b3b9a1e18e3b ", Typ =" win32 ", Version =" 9.0.21022.8 ". FEHLER: Aktivierungskontextgenerierung fehlgeschlagen. Aktivierungskontextgenerierung beenden.

Der Verweis Microsoft.VC90.DebugCRT, processorArchitecture = ... kann nicht aufgelöst werden.

irgendwelche Ideen?

19
DarthVader

Abhängige Montage Microsoft.VC90.DebugCRT, ... wurde nicht gefunden

Ja, das kann nur auf einem Computer gefunden werden, auf dem Visual Studio installiert ist. Das DebugCRT ist nicht verteilbar. Es macht keinen Sinn, C- oder C++ - Code zu schreiben und den Debug-Build dafür bereitzustellen, es ist lot langsamer.

Stellen Sie die Release-Build-Version Ihrer DLL bereit. Und die VC++ - Bibliotheken, eines der Kontrollkästchen in den Voraussetzungen eines Setup-Projekts.

16
Hans Passant

Wir hatten gerade denselben Fehler, aber die Ursache war im Vergleich zu dem Fehler so irreführend, dass er es hoffentlich wert ist, hier hinzugefügt zu werden, da er bei google ganz oben steht.

Der Fehler "Die Anwendung konnte nicht gestartet werden, weil ihre Side-by-Side-Konfiguration nicht korrekt ist", trat auf, wenn ein Windows-Dienst gestartet wurde . In unserem Fall wurde dies dadurch verursacht, dass die Dienste application.config xml-Datei nicht gültig waren - jemand hat sie manuell bearbeitet und in ein zusätzliches schließendes Tag eingefügt. Durch die Änderung dieses Problems wurde die Fehlermeldung "in keiner Weise verwandt" gelöst.

Der schnellste Weg, dies zu überprüfen, wäre das Einfügen der XML-Datei in einen der vielen Online-XML-Validatoren, die im Web kostenlos sind.

18

Dies ist mit C # markiert, also gebe ich die C # -Datei: Etwas hat Ihre Datei projectname.exe.config beschädigt.

Ziehen Sie es in einem Texteditor hoch und die Chancen stehen, dass etwas nicht richtig geschlossen wird oder dass am Ende ein paar Müllzeichen stehen. Sie können herausfinden, warum das später passiert ist. Aber für jetzt, reparieren Sie es einfach und Sie können starten.

4
Jason Kester

Sie können die Manifestdatei einfach aus Ihrem Anwendungspfad löschen. Die ausführbare Datei funktioniert dann ordnungsgemäß.

4
praveen m.p

Ich habe Seite für Seite einen Fehler gefunden, in dem die Datei app.config nicht übereinstimmt oder ein Systemfehler vorliegt. Finden Sie einen Fehler in Ihrer app.config-Datei, und korrigieren Sie ihn. 

3
Rahul Singh

Für eine echte Überprüfung, wenn Sie Windows 7 verwenden (muss für 8 und Vista identisch sein)

Öffnen Sie das Systemsteuerungstool für das System und wählen Sie die Ereignisanzeige aus

Klicken Sie auf Windows-Protokolle-> Anwendung

Finden Sie Ihr Fehlerprotokoll neben der Spalte in der Spalte

Notieren Sie die Zeilennummer, in der der Fehler auftritt.

Dann öffnen Sie mit einem Editor wie write oder notepad IhreDateiname.exe.manifest

Dann von der Zeilennummer </ to /> die Zeilen löschen und die Datei speichern 

Ihr Problem ist gelöst.

3
Ismail Gunes

Ich wollte einen weiteren Grund aufzeigen, warum dieser Fehler auftreten könnte: falsche Kodierung der *.config-Datei.

Die Datei muss in UTF-8 sein, während Sie ANSI heutzutage tatsächlich versehentlich erhalten können, indem Sie die Konfigurationsdatei manuell mit notepad.exe erstellen.

2
shytikov

Stellen Sie sicher, dass Sie keine falsch platzierten Konfigurationen wie einen <httpsTransport> in einer http-Webdienstbindung haben.

1
rox

Ich hatte dieses Problem und es war ein einfaches Problem mit dem version-Wert im assemblyIdentity-Element der Datei app.manifest. Anscheinend muss version alle vier Zahlen haben (es sei denn, assemblyIdentity wird ignoriert, was der Fall ist, wenn das Manifest eingebettet ist).

Also hier das Update: 

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

ist zu setzen

version="1.0.1.0"

Danach war alles gut.

1
SteveCinq