Umgebungsvariable .NET-Anwendungen zu zwingen, als 32-Bit laufen
-
03-07-2019 - |
Frage
Ich habe gesagt, es eine Umgebungsvariable ist, dass Sie .NET-Anwendungen zu zwingen, laufen als 32-Bit-Anwendungen auf x64-Versionen von Windows einstellen. Wissen Sie, was es ist, oder wissen von einer Referenz auf sie? Ich fürchte, mein Google-Fu hat es versäumt, mich heute (oder es existiert nicht).
Ich bin mit Resolver One (eine .NET-Tabelle) und einige nur 32bit-Funktionalität zugreifen möchten, ohne die ausführbare Datei zu ändern. Wenn ich dies aus einer Umgebungsvariablen konfigurieren kann, dann kann ich 32-Bit-Funktionalität zugreifen, wenn nötig aber auch als 64-Bit-Anwendung ausführen, wenn nötig.
(Hinweis: effektiv mag ich in der Lage sein, zu wechseln, ob eine Anwendung läuft als 32-Bit- oder 64-Bit zur Startzeit, anstatt es bei der Kompilierung zu erzwingen.)
Danke
Lösung
Ich habe eine Antwort von Dino Veihland (Microsoft Ironpython Entwickler) hatte. Ich habe keine Zeit gehabt, um es zu testen noch ...
Es ist COMPLUS_ENABLE_64BIT. Ich denke, es Einstellung auf 0 deaktiviert 64-bit.
Sie sollten in der Lage sein, es als env var zu setzen oder einen Wert zu HKLM \ Software \ Microsoft \ .NETFramework mit dem Namen „Enable_64Bit“, der Typ REG_DWORD und den Wert 0 es hinzufügen, global zu setzen (dies ist, wie alle die COMPlus_ * vars Arbeit). Diese besondere sein könnte genug (es hat laufen, bevor der Prozess erstellt wird), dass es in dem Ausrichtungs-Schlüssel eingestellt werden muss, aber ich bin nicht ganz sicher.
Andere Tipps
Wie wäre es? Link
Nicht ganz ein Umgebungsvariable, sondern nur das CoreFlags Tool hin und her wechseln.
Zum Umschalten auf 32-Bit:
CorFlags.exe TheApp.exe /32BIT+
Um wieder auf 64-Bit-gehen:
CorFlags.exe TheApp.exe /32BIT-
Überprüfen Sie dies: http://www.hanselman.com/blog/BackToBasics32bitAnd64bitConfusionAroundX86AndX64AndTheNETFrameworkAndCLR.aspx
Zielplattform im Projekteigenschaftsdialog btw.
Im diese eine bald versuchen gehen - im Grunde einen exe-Wrapper, der in 32-Bit läuft, dann startet Ihre gezielte App von ihm. der 32-Bit-Modus des Mutter soll eine kompilierte AnyCPU binäres zwingt in 32 bit ausgeführt werden. siehe http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/