Ich versuche, ( Visual Studio ) eine ASP.Net-Website mit der Chilkat-Bibliothek zu kompilieren. Die Kompilierung schlägt aufgrund dieses Fehlers fehl:
Datei oder Baugruppe konnte nicht geladen werden 'ChilkatDotNet2, Version = 9.0.8.0, Kultur = neutral, PublicKeyToken = eb5fc1fc52ef09bd 'oder eine seiner Abhängigkeiten. Ein Versuch wurde gemacht, um ein Programm mit einem zu laden falsches Format.
Mir wurde gesagt, dass dieser Fehler wegen der Nichteinhaltung der Plattform auftritt.
Das Seltsame ist, dass obwohl die Kompilierung fehlschlägt, die Seite nach dem Zugriff von einem Browser funktioniert. Meine Theorie ist, dass die Kompilierung IIS den csc.exe-Compiler aus dem Ordner Framework64 (64 Bit) verwendet, während Visual Studio den csc.exe-Compiler aus dem Framework verwendet (32-Bit). Mappe. Wenn dies wirklich so ist, Wie kann ich mein Visual Studio so konfigurieren, dass es mit dem 64-Bit-Compiler für ASP.Net-Sites ausgeführt wird?
Dies ist meine aktuelle Entwicklungskonfiguration:
Das Warum :
Ihre Website (der verwaltete Teil, wahrscheinlich alles Nicht-Dritte) wird nicht im 32- oder 64-Bit-Modus kompiliert, zumindest nicht in der Art, wie Sie denken. Der Unterschied ist, dass WebDevServer.exe
(eine Version von Cassini ), die Visual Studio für seinen Webserver verwendet, ausschließlich 32-Bit ist. Also lädt es nur 32-Bit-kompatible DLLs.
IIS auf einer 64-Bit-Maschine kann abhängig von den Konfigurationseinstellungen entweder im 32- oder 64-Bit-Modus (standardmäßig 64-Bit) ausgeführt werden, sodass es keine Probleme beim Laden Ihrer Anwendung gibt.
Lösung: Leider gibt es hier nicht viele Optionen, Ich habe die gleiche Frage vor einer Weile gestellt . Am besten verwenden Sie IIS zum Debuggen. Sie richten es so ein:
Die Lösung besteht darin, beide DLLs (die x64- und x86-DLLs) in den GAC zu schreiben und jede Anwendung dynamisch entscheiden zu lassen, wann sie die x64- oder x86-DLL verwenden (natürlich müssen Sie auf die GAC-DLL verweisen) Ihr Projekt).
Ich habe persönlich mit dem Entwickler von ChilkatDotNet2 gesprochen und dies ist eine Lösung, auf die wir uns geeinigt haben.
Tags und Links 64bit asp.net iis visual-studio chilkat