it-swarm.com.de

Wie bekomme ich Komponententests, die auf einer x64-Plattform ausgeführt werden können?

Ich habe eine C # -Anwendung, die im x64-Modus ausgeführt werden muss. Das Problem ist, ich versuche, Komponententests zu erstellen, mit denen Methoden in der x64-Anwendung ausgeführt werden, und das Komponententestprojekt wird nicht einmal erstellt. Ich erhalte die folgende Fehlermeldung, wenn versucht wird zu bauen.

Fehler beim Laden von C: .....\bin\x64\Debug .... UnitTests.dll: Laden von .__ nicht möglich. der Testcontainer 'C: .....\bin\x64\Debug .... UnitTests.dll' oder eine seiner Abhängigkeiten. Wenn Sie Ihr Testprojekt Assembly als 64 .__ erstellen. Bit Assembly kann nicht geladen werden. Beim Erstellen Ihres Testprojekts Wählen Sie bei der Montage "Any CPU" für die Plattform aus. So führen Sie Ihre Tests in 64 .__ aus. Bitmodus auf einem 64-Bit-Prozessor müssen Sie Ihre Testeinstellungen in .__ ändern. Auf der Registerkarte Hosts können Sie Ihre Tests in einem 32-Bit-Prozess ausführen. Fehlerdetails: Datei oder Assembly konnte nicht geladen werden 'file: /// C: ..... UnitTests\bin\x64\Debug .... UnitTests.dll' oder eines von seine Abhängigkeiten. Es wurde versucht, ein Programm mit einer .__ zu laden. falsches Format.

Ich habe versucht, den Unit-Test in x64 und auch in Any CPU zu ändern und kann ihn immer noch nicht ausführen. Gibt es eine Lösung dafür?

43
RJ.

Ich gehe davon aus, dass Sie das Test-Framework von Visual Studios verwenden, da Sie nichts anderes erwähnt haben. In VS2010 können Sie die Ausführung des Testhosts in x64 erzwingen. Erstellen Sie Ihre Assemblys als Any CPU oder x64 und setzen Sie den Testhost auf x64.

http://msdn.Microsoft.com/de-de/library/ee782531.aspx

39
Robert Jeppesen

In VS 2012 und höher können Sie die Standardzielplattform im Menü Test unter Test Settings|Default Processor Architecture auswählen.

 Visual Studio Test Settings

48
Sten Petrov

Ich hatte das gleiche Problem, Add App.config-Datei

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
1

Ich hatte ein ähnliches Problem. In Visual Studio 2010 (unter x64) liegt ein seltsames Problem vor, das dazu führt, dass die Ziel-CPU geändert wird, wenn Sie der vorhandenen Lösung ein neues Projekt hinzufügen. Sind Sie sicher, dass alle Referenzen und CPU-Ziele x64 sind?

1
Svetlin Ralchev

Dieser Fehler kann behoben werden, wenn Sie alle relevanten Baugruppen bereinigen und neu erstellen. Es muss eine Datei unerwartet beschädigt sein.

Eine Sache, die VS verbessern kann, ist, wenn die fehlerhafte Formatausnahme erkannt wird, geben Sie bitte den Dateinamen an. Der Entwickler kann dann nur diese Datei neu erstellen.

0
Cary

Sie müssen alle Referenzen des Testprojekts auf local setzen (auf true setzen). Ich habe dieses Problem schon einmal erhalten, ich hoffe, dass es auch für Sie funktioniert (Ich verwende Windows 7 64 Bit + VS2012).

0
thienhaflash