Ich habe eine .NET-Anwendung, die mit dem für den Architekturtyp gesetzten "Any" -Flag kompiliert wurde.
Ich frage mich, ob es möglich ist, die Anwendung als 32-Bit-Anwendung in einer (beliebigen) 64-Bit-Version von Windows auszuführen, ohne die Anwendung in eine ausführbare 32-Bit-Datei neu zu kompilieren.
Antworten:
Ja, wenn Sie die Projekteigenschaften explizit auf 32-Bit (x86, glaube ich) einstellen, wird sie immer in diesem Modus ausgeführt. Wir hatten dieses Problem bei der Verwendung des SQLite ADO.Net-Anbieters (er suchte nur nach der 32-Bit-Version, die auf einem x64-System nicht geladen werden konnte).
Sie können Corflags verwenden, um das 32-Bit-Bit-Flag (ha ha) in der ausführbaren Datei zu setzen. Hier ist ein Beispiel . Kurz gesagt, Sie werden laufen:
Sie finden corflags.exe, das mit dem SDK mit Visual Studio installiert wurde,
(installed in C:\Program Files\Microsoft SDK\6.0a or 7.0\bin)
oder Sie können es aus dem Microsoft Windows SDK für Windows 7 und .NET Framework 3.5 SP1 herunterladen .quelle