6 Stimmen

Fehler beim Laden der Baugruppe beim Wechsel zur x64-Plattform

Ich habe gerade eine neue asp.net 3.5 Webanwendung erstellt. Ich bin zu den Anwendungseigenschaften gegangen und habe das Plattformziel auf x64 geändert. Ich habe keinen Code geschrieben und nichts geändert. Als nächstes habe ich das Debugging in Visual Studio gestartet. Der folgende Fehler trat auf:

Datei oder Baugruppe konnte nicht geladen werden "SOLUTION NAME", Version=1.0.0.0, Kultur=neutral, PublicKeyToken=null' oder eine ihrer Abhängigkeiten laden. Es wurde versucht ein Programm zu laden, das ein falsches falschen Format zu laden.

Hat jemand eine Idee, wie man das Problem lösen kann?
Danke.

Edita:
Ich habe diese Warnungen:

Warnung 1 Erzeugung von Baugruppen -- Referenzierte Baugruppe 'System.EnterpriseServices.dll' zielt auf einen anderen Prozessor
Warnung 2 Baugruppenerstellung -- Referenzierte Baugruppe 'mscorlib.dll' zielt auf einen anderen Prozessor
Warnung 3 Baugruppenerstellung -- Die referenzierte Baugruppe 'System.Web.dll' zielt auf einen anderen Prozessor
Warnung 4 Baugruppenerstellung -- Die referenzierte Baugruppe 'System.Data.dll' zielt auf einen anderen Prozessor

Konfigurationsmanager:

enter image description here

15voto

David J.E. Punkte 338

Wenn Sie Ihre Anwendung nur mit F5 oder der Start-Schaltfläche starten und im IIS debuggen, könnte dies der Fall sein:

Debuggen -> Optionen -> Projekte und Lösungen -> Webprojekte. Und wählen Sie "64-Bit-Version von IIS Express für Websites und Projekte verwenden".

2voto

Ich habe das Problem gefunden.

Es scheint, dass Visual Studio und Cassini als 32-Bit-Anwendungen laufen. Wenn ich versuche, meine 64-Bit-ASP.NET-Anwendung mit Cassini von Microsoft zu hosten, erhalte ich eine Ausnahme.

Also habe ich meine Lösung auf IIS bereitgestellt, sie auf 64-Bit geändert, debuggt und alles funktioniert perfekt.

0voto

WraithNath Punkte 17028

Es handelt sich wahrscheinlich um eine 32-Bit-DLL, auf die verwiesen wird.

Wenn Sie das Debugging unter IIS durchführen, öffnen Sie die erweiterten Einstellungen des Anwendungspools und stellen Sie sicher, dass "32-Bit-Anwendungen aktivieren" aktiviert ist. Das hat das Problem schon einige Male gelöst.

0voto

Felice Pollano Punkte 32046

Zusätzlich zu dem, was @winSharp93 sagt, sollten Sie einen Blick auf die Erweiterte Einstellungen des Anwendungspools und sicherstellen, dass " 32-Bit-Anwendungen aktivieren " wird eingestellt auf falsch .

0voto

Simon Punkte 984

Stellen Sie sicher, dass alle von Ihnen kompilierten DLLs für "any cpu" oder für "x64" kompiliert sind. Sie können dies im Projekteinstellungsfenster für jedes Projekt finden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X