Wie kompilieren x64 asp.net website?
Ich versuche zu kompilieren (mit Visual Studio) ein ASP.Net website mit der Chilkat Bibliothek. Schlägt die Kompilierung fehl aufgrund dieses Fehlers:
Konnte nicht geladen, Datei oder assembly 'ChilkatDotNet2, Version=9.0.8.0,
Culture=neutral,
PublicKeyToken=eb5fc1fc52ef09bd' oder
eine seiner Abhängigkeiten. Ein Versuch
gemacht wurde ein Programm laden mit einer
falsche format.
Mir wurde gesagt, dass dieser Fehler tritt auf, weil der Plattform Nichterfüllung.
Komisch ist, dass, obwohl die Kompilierung fehlschlägt, die Seite funktioniert, sobald ein Zugriff von einem browser. Meine Theorie ist, dass die IIS Kompilierung verwendet csc.exe compiler aus dem Framework64 (64 bit) Ordner, während die Visual Studio verwendet csc.exe compiler aus dem Rahmen (32 bit) Ordner. Wenn dies ist acually es, wie kann ich konfigurieren mein Visual studio zum laufen mit dem 64-bit-compiler für ASP.Net die Seiten?
Dies ist meine aktuelle Entwicklung Konfiguration:
- Windows 7 (x64).
- Visual Studio 2008 Pro (x86, natürlich...).
- Chilkat library (x64)
- IIS/Asp.net (x64).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum:
Ihre website (der verwaltete Teil, wahrscheinlich alle, die es nicht Dritten) nicht kompiliert im 32-oder 64-bit-Modus, zumindest nicht in der Art und Weise Sie denken. Der Unterschied ist, dass
WebDevServer.exe
(Eine version des Cassini), die visual studio verwendet es für die webserver ist ausschließlich 32-bit. So, es sind nur Lasten von 32-bit-DLLs kompatibel.IIS auf einem 64-bit-Computer ausführen können, in der entweder 32-oder 64-bit-Modus (standardmäßig 64-bit), je nach Konfiguration der Einstellungen, also hat Sie keine Probleme, Sie laden Ihre Anwendung.
Lösung:
Leider gibt es nicht eine Menge von Optionen hier, Ich stellte die gleiche Frage vor einer Weile. Ihre beste Wette ist, verwenden Sie IIS für die Fehlersuche. Sie richten es so:
lint x = 1;
sollteint x = 1;
Die Lösung besteht darin, die beiden DLLs (die x64 & x86-DLLs im GAC und lassen Sie jede Anwendung dynamisch zu entscheiden, Wann der x64-oder x86-DLL (natürlich müssen Sie, zum verweisen auf die GAC-DLL in Ihr Projekt).
Ich habe persönlich mit Ihnen besprochen ChilkatDotNet2 Entwickler und dies ist eine Lösung, die wir beide vereinbart.