23 Nov
2007

NCover unter Vista 64bit mit Visual Studio

 

Für die Code-Coverage bei Unit-Test gibt es schon ein ewigen Zeiten die Tools NCover und NCover Explorer, unter 32Bit funktionieren diese wunderbar, bei 64 Bit gibt es Probleme.

Die bequemste Art ist es NCover zusammen mit TestDriven.NET zu verwenden. Da man es damit direkt aus Visual Studio ausrufen kann und so schnell den Fortschritt überprüfen kann. Zudem wird es direkt mitgeliefert.

NCover 1.5.x

Jedoch wird man feststellen dass es unter Vista 64 Bit nicht direkt funktioniert. Da doch von Visual Studio glatt 64 Bit Prozesse gestartet werden und NCover welches die Profiling-Schnittstelle von .NET verwendet kommt damit nicht zurecht. Mit der Version 2.0 von NCover gibt es auch eine 64 Bit Version, jedoch ist die mit $ 299 nicht gerade ein Schnäppchen. Die hier vorgestellte Lösung funktioniert sowohl mit NCover 1.x als auch mit NCover 2.0 in der 32 Bit Version.

Als Fehlermeldung erhält man

NCover couldn't create a coverage report.

Damit es doch funktioniert muss man einfach in der Test-Assembly als Zielplattform x86 einstellen.

NCover-Plattform-Target

Desweiteren ist es erforderlich Visual Studio als Administrator laufen zu lassen, Debugger-User reicht nicht.

Es muss auch nur die Test-Assembly auf x86 eingestellt werden, die referenzierten Assemblies können weiterhin auf All CPU stehen.

Ein Problem gibt es dann noch wenn man die x86 Test-Assemblies mit dem ReSharper 3.0 Unit-Test-Explorer laufen möchte, dies funktioniert noch nicht. Es bleibt der Weg diese auch über TestDriven.NET oder dem Unit-Test-Framework mitglieferten Unit-Test-Runner laufen zu lassen.

NCover 2.0 64 Bit

Hat man sich wegen der erweiterten Funktionen doch für die 64 Bit Version von NCover 2.0 entschieden, so wird man feststellen dass es trotzdem noch nicht mit TestDriven.NET funktioniert. In der aktuell verfügbaren Version 2.9.2150 von TestDriven.NET wird zwar NCover 2.0 unterstützt, es gibt jedoch noch einen Bug in der 64 Bit Unterstützung, dieser wird jedoch mit der nächsten Version behoben sein.

 


Der Eintrag ist mir etwas Wert
 
Comments have been closed on this topic.