2010-09-14 3 views
8

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

+0

Zusätzliche Informationen: Ich habe versucht, die 32BIT-corflag sowohl auf Nunit-console.exe und Nunit.exe zu setzen. –

+0

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) –

+0

Ich versuche jetzt etwas anderes. Ich lasse nunit durch ReSharper laufen, also könnte ReSharper's TaskRunner in 64-Bit laufen. –

Antwort

7

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.

+0

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

+0

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? –

12

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.

Verwandte Themen