Problembehandlung für generische Tests
Wenn Sie generische Tests ausführen, wird möglicherweise die Fehlermeldung angezeigt, dass Codeabdeckungsdaten nicht erfasst werden können, wenn ein generischer Test auf einer 64-Bit-Plattform ausgeführt wird.Beheben Sie diesen Fehler mithilfe der Informationen aus dem folgenden Abschnitt Umgehen der 32-Bit-Einschränkung.
Anforderungen
- Visual Studio Ultimate, Visual Studio Premium
Umgehen der 32-Bit-Einschränkung
Die Codeabdeckungsinstrumentation funktioniert nur im 32-Bit-Modus, jedoch nicht im 64-Bit-Modus.Der Grund hierfür ist, dass eine Assembly nur im 32-Modus geladen werden kann, nachdem sie für die Codeabdeckung instrumentiert wurde.
Hinweis |
---|
Diese Einschränkung gilt nicht, wenn Sie auf einem 64-Bit-Computer Komponententests ausführen, ohne Codeabdeckungsdaten zu erfassen.Der Grund hierfür ist, dass das Testmodul VSTestHost.exe, das die Klassenbibliothek lädt, in einem 32-Bit-Prozess ausgeführt wird. |
Bei einem generischen Test wird die umschlossene Anwendung für die Zielplattformsoption "Any CPU" erstellt. Auf einem 64-Bit-Computer ist dies ein 64-Bit-Prozess.Wenn dieser 64-Bit-Prozess versucht, eine 32-Bit-Assembly zu laden, tritt ein Fehler auf.Mit einer der folgenden Möglichkeiten können Sie dieses Problem beheben.
Verwenden Sie folgende Methode, wenn der generische Test die Binärdatei, in die der Produktionscode kompiliert wurde, direkt umschließt:
- Ändern der Projektmappenkonfiguration in x86
Verwenden Sie eine der folgenden zwei Methoden, wenn der generische Test und die Binärdatei mit dem Produktionscode durch eine Ebene getrennt sind.Das heißt, der generische Test umschließt eine Vermittleranwendung als Testumgebung.In dieser Testumgebung wird dann der zu testende Produktionscode ausgeführt.
- Ändern der Buildeinstellungen der Anwendung, die die Binärdatei mit dem Produktionscode lädt
Ändern der Projektmappenkonfiguration in x86
Ändern Sie die Projektmappenkonfiguration von "Any CPU" in "x86".
So ändern Sie die Projektmappenkonfiguration
Klicken Sie im mit der rechten Maustaste und wählen Sie dann Eigenschaften aus.
Das Dialogfeld Eigenschaftenseiten für Projektmappen wird angezeigt.
Die Konfigurationseigenschaften wählen Sie Konfiguration aus.
Wählen Sie Konfigurations-Manager aus.
Das Dialogfeld Konfigurations-Manager wird angezeigt.
Klicken Sie unter Aktive Projektmappenplattform auf Neu.
Das Dialogfeld Neue Projektmappenplattform wird angezeigt.
Die Neue Plattform eingeben oder auswählen wählen Sie x86 aus.
Im Dialogfeld wählen Sie Neue ProjektmappenplattformOK. aus
Klicken Sie im Dialogfeld, in dem Sie gefragt werden, ob Änderungen speichern möchten, wählen Sie Ja aus.
Klicken Sie im Dialogfeld unter Konfigurations-ManagerAktive Projektmappenplattform, überprüfen Sie, ob x86, aktiviert ist, und wählen Sie dann Schließen aus.
Klicken Sie im Dialogfeld Projektmappen-Eigenschaftenseiten wählen Sie OK aus.
Ändern der Buildeinstellungen der Anwendung, die die Binärdatei mit dem Produktionscode lädt
Mit diesem Vorgang können Sie eine Vermittleranwendung oder Testumgebung instrumentieren, die vom generischen Test umschlossen wird.Diese Vermittleranwendung führt den zu testenden Code aus.
In diesem Vorgang ändern Sie die Einstellungen der Vermittleranwendung, um sie für die x68-Plattform zu konfigurieren.
Hinweis |
---|
Dies ist nur möglich, wenn die umschlossene Anwendung aus einem Projekt in der Projektmappe erstellt wurde. |
So ändern Sie die Buildeinstellungen für die umschlossene Anwendung
Klicken Sie im Projektmappen-Explorer auf das Projekt, aus dem die Vermittleranwendung erstellt wird, mit der rechten Maustaste und wählen dann Eigenschaften aus.
Es wird eine Eigenschaftenseite für das Projekt angezeigt.
Wählen Sie die Registerkarte aus. Build
Geben Sie als Zielplattform x86 an.
Klicken Sie im Menü Datei wählen Sie Ausgewählte Elemente speichern aus.