Ich bin einer jener Leute, die die Edit und Continue in VS lieben. Aus diesem Grund entwickle ich Apps in 32-Bit. Aber wenn ich einen Komponententest im Debug-Modus und ich versuche, eine Zeile zu bearbeiten, bekomme ich die üblichen "Änderungen an 64-Bit-Anwendungen sind nicht erlaubt." Botschaft. Alle meine Komponenten sind markiert x86, Nunit ist als 32-Bit-Anwendung installiert. Mein System ist 64-Bit.
Wie kann ich Nunit zwingen, als 32-Bit-Anwendung zu laufen?Nunit debugs in 64-Bit, Anwendung ist in 32-Bit
Antwort
Ok, ich habe es herausgefunden. Es war in der Tat der ReSharper TaskRunner, der als 64-Bit ausführte, genauer JetBrains.ReSharper.TaskRunner.CLR4.MSIL.exe. Ich habe zunächst eine Kopie der Datei, machte es beschreibbar und dann gezwungen, es ist 32BIT Fahne hoch:
>corflags JetBrains.ReSharper.TaskRunner.clr4.msil.exe /32bit+ /force
/Kraft, weil es unterzeichnet ist.
Es gibt mehrere andere TaskRunner-Assemblies, aber ich habe festgestellt, dass dies die ist, die ich verwende (Versuch und Irrtum). Müsste das gleiche zu den anderen tun, wenn ich auf andere Probleme ReSharper 64-bit stoße.
Ich hoffe, dies wird anderen helfen, das gleiche Problem zu lösen.
Ich fand die Warnmeldung verwirrend, da ich nicht sicher war, ob es tatsächlich die 32-Bit-Änderung anwendete oder nicht. Aber stellt sich heraus, es war :) – Jen
Wie komme ich immer "Konnte Dateien zum Schreiben nicht öffnen", obwohl ich bereits alle VS geschlossen habe und ich die Befehlszeile als Admin ausführen? –
Für Resharper 5 können Sie einfach das Plattformziel der Assembly, die Sie testen, auf x86 setzen (in den Eigenschaften der IDE für dieses Projekt). Der neue Resharper 5 Test Runner erkennt dies offenbar und führt die Tests als 32 Bit aus. Keine Notwendigkeit, mit corflags zu verwirren.
- 1. 32bit 64bit referenzierten Bibliothek
- 2. lesen von 32bit record in 64bit projekt
- 3. Ausführen von 32bit Eclipse mit 32bit jvm unter Windows 64bit
- 4. Verwenden von LD_PRELOAD gemischte 64bit/32bit-Umgebung in Linux
- 5. C++ Migration von in RHEL4 32bit auf RHEL6 geschrieben 64bit
- 6. Inno Setup 32bit und 64bit dll installation
- 7. Verhalten Unterschied zwischen 32bit und 64bit
- 8. 64bit und 32bit Prozess Sprech boost :: message_queue
- 9. C zu Assembly Anrufkonvention 32bit vs 64bit
- 10. Wie funktionieren geteilte Bibliotheken in einem gemischten 64bit/32bit-System?
- 11. Verwechselt 32Bit und 64Bit geteilte Objekte/Bibliotheken
- 12. 64bit Prozessor mit 32bit Betriebssystem Programmkompatibilitäten?
- 13. Java 32bit Xmx vs Java 64bit Xmx
- 14. 64bit Eigenschaftenblätter verwenden 32bit winapi dlls
- 15. Ist es möglich, Nginx 32bit mit php 64bit zu verwenden?
- 16. Oracle ODP.NET Managed Driver läuft 50-100% langsamer in 64Bit als in 32Bit
- 17. Kann 32bit mit 64bit g ++ nicht kompilieren
- 18. Überprüfen, ob die Datei 32bit oder 64bit ist - unter Windows
- 19. Kann ich 32bit dll oder exe in 64bit python verwenden?
- 20. Zugriff auf> 2,3,4GB Dateien in 32bit Prozess auf 64bit (oder 32bit) Windows
- 21. 64bit vC++ Programm scheint unter 32bit Modus zu laufen
- 22. Wie ist Linux gleichzeitig 32bit und 64bit? Oder ist das etwas in glibc gehandhabt?
- 23. Was ist kompatibel "int" Typ in beiden 32Bit & 64Bit Windows in C++?
- 24. Erlaube Benutzer 32bit Version auf 64bit Windows zu installieren
- 25. 64bit/32bit Division schneller Algorithmus für ARM/NEON?
- 26. Importieren Sie externe DLL basierend auf 64bit oder 32bit OS
- 27. libstdC++ 64bit und 32bit version auf demselben Rechner
- 28. Wie erstellt man 32bit Python 2.6 auf 64bit Linux?
- 29. PHP-Erweiterung auf 64bit debian zu 32bit PHP-Installation kompilieren
- 30. Verwenden mehrerer Python-Engines (32Bit/64bit und 2.7/3.5)
Zusätzliche Informationen: Ich habe versucht, die 32BIT-corflag sowohl auf Nunit-console.exe und Nunit.exe zu setzen. –
Sie müssen nur den Host-Prozess markieren und alle anderen Komponenten auf AnyCpu belassen. Machen Sie 100% sicher, dass Ihr Host als 32BIT + markiert ist. Überprüfen Sie, dass der Host, den Sie änderten, tatsächlich der Host ist, den Sie ausführen. Spätestens überprüfen Sie im Task-Manager, dass Ihr Host nicht 64 Bit ist (Es wird ein * daneben haben, wenn es 32 Bit) –
Ich versuche jetzt etwas anderes. Ich lasse nunit durch ReSharper laufen, also könnte ReSharper's TaskRunner in 64-Bit laufen. –