Frage

einige Tests vervollständigen ich die 64-Bit-Version einer Assembly selbst laden muß, obwohl ich eine 32-Bit-Version von Windows leite. Ist das möglich?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, warum Sie dies tun wollen würde, aber ich nehme an, Sie könnten. Wenn Sie es tun nichts anders zu sagen, wird die CLR die Version der Assembly laden, die an die CPU spezifisch Sie verwenden. Das ist in der Regel, was Sie wollen. Aber ich habe eine Gelegenheit hatte, wo ich benötigen, um die neutrale IL-Version einer Baugruppe zu laden. Ich benutzte die Load-Methode die Version angeben. Ich habe es nicht versucht (und andere hier vorschlagen, es wird nicht für eine ausführbare Assembly arbeiten), aber ich nehme an, Sie können das gleiche tun geben Sie die 64-Bit-Version geladen werden sollen. (Sie müssen angeben, ob Sie die AMD64 oder IA64-Version wollen.)

Andere Tipps

Von CLR Via C # (Jeff Richter):

"Wenn Sie Ihre Assembly-Dateien nur typsichere verwalteten Code enthalten, Sie schreiben Code, der auf 32-Bit- und 64-Bit-Versionen von Windows funktionieren soll. Nein Änderungen am Quellcode erforderlich sind für Ihren Code auf jeder Version von Windows ausgeführt werden.

In der Tat, die resultierende EXE / DLL-Datei durch den Compiler erzeugt wird als auch auf 32-Bit-Windows ausgeführt werden als die x64- und IA64-Versionen von 64-Bit-Windows! Mit anderen Worten, läuft die eine Datei auf einem beliebigen Maschine, die eine Version von .NET Framework installiert auf sie. "

“Der C # Compiler bietet eine / Plattform-Befehlszeilenschalter. Mit diesem Schalter können Sie festlegen, ob die resultierende Anordnung kann auf x86-Rechner läuft 32-Bit-Windows-Versionen nur, X 64 Maschinen 64-Bit-Windows nur, oder Intel Itanium-Maschinen mit 64-bit Nur für Windows. Wenn Sie nicht über eine Plattform angeben, ist der Standard anycpu, die, dass die angibt, resultierende Anordnung auf einer beliebigen Version von Windows ausgeführt werden kann.

32-Bit-Windows kann nicht 64-Bit-ausführbare Dateien ohne VM / emutalor ausführen

32-Bit-Windows kann auf 64-Bit-Windows für die Ausführung kompiliert

Nein, Sie können nicht Baugruppen ausführen, die für 64-Bit auf einem System kompiliert werden, läuft die 32-Bit-Version von Windows.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top