Visual Studio Unit Testen Sie 32-Bit und 64-Bit

9

Ich habe eine Lösung, die sowohl Projekte mit C ++ - und C ++ / CLI-Code als auch eine Reihe von Projekten enthält, die alle diese Tests mit dem Microsoft Unit Test Framework durchführen. Bei den C ++ / CLI-Projekten handelt es sich bei den Unit-Test-Projekten um C # Unit-Tests. Was ich momentan habe, ist eine Plattform für 32- und 64-Bit. Außerdem habe ich für jede Plattform Unit-Test-Projekte, die auf 32- und 64-Bit-Plattformen abgestimmt sind.

Das Problem, das ich habe, ist, dass wenn ich zu 32-Bit gegen 64-Bit umschalte, ich gehen muss TEST > TEST SETTINGS > DEFAULT PROCESSOR ARCHITECTURE und blättern von 32 und 64 nach Bedarf. Wenn nicht, erhalte ich von Visual Studio eine Warnung, dass ein 64-Bit-Image nicht in einem 32-Bit-Prozess ausgeführt werden kann. Dies ist sinnvoll, aber es gibt sicherlich eine Möglichkeit, dies zu automatisieren? Sonst, wenn ich eine Batch-Erstellung auf einer Build-Maschine mache, habe ich keine Kontrolle darüber und die Komponententests werden fehlschlagen.

Ich habe auch versucht, die Unit-Test-Projekte auf AnyCPU zu setzen, aber dies schlägt fehl mit der Fehlermeldung "Es wurde versucht, ein Programm mit einem falschen Format zu laden"

Gibt es vielleicht einen besseren Weg?

    
Jarek Mitek 05.11.2013, 02:18
quelle

1 Antwort

3

Wenn Sie einen Testlauf über eine Build-Maschine automatisieren möchten, können Sie das Projekt auf AnyCPU setzen und corflags / 32bit + (oder / 32bit-), um die .NET Assembly auf die richtige Plattform zu setzen, bevor die Komponententests ausgeführt werden.

Ich bin mir nicht bewusst, eine automatische Lösung für VS andere als zwei Projekte (ein x64 und auf x86), die zu den gleichen Dateien verknüpfen.

    
Dror Helper 02.07.2014, 06:39
quelle