Archive

Posts Tagged ‘Tipps’

NUnit mit .NET 4.0 Assemblies verwenden

July 19th, 2010 Bernd 2 comments

lightbulb Bei unseren Projekten stellen wir gerade von Visual Studio 2008 auf Visual Studio 2010 mit .NET 4.0 um. Der Umstieg läuft recht problemlos. Die Unittests sind alle mit dem NUnit Unittest Framework entwickelt. Ein kurzer Blick auf die NUnit Homepage zeigt, dass die aktuelle Version 2.5.5 mit .NET 4.0 funktioniert. Also, Version runtergeladen, entpackt und alles kompiliert noch. Als Entwickler verwende ich den Unittestrunner von Resharper. Und siehe da, alle Tests laufen noch und sind grün. Perfekt!

Auf dem Buildrechner sieht es leider nicht so gut aus. Die Unittests laufen überhaupt nicht mehr. Dort werden die Tests mit dem Consolerunner von NUnit ausgeführt. Ein Aufruf desselben auf meinem Rechner bringt folgende (bzw. eine ähnliche) Ausgabe:

Execution Runtime: net-2.0
Unhandled Exception:
System.BadImageFormatException: Could not load file or assembly ‘C:\Users\Bernd\documents\visual studio 2010\Projects\SomeProjects\SomeProject.Unittests\bin\Debug\SomeProject.Unittests.dll’ or one of
its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
File name: ‘C:\Users\Bernd\documents\visual studio 2010\Projects\SomeProjects\SomeProject.Unittests\bin\Debug\SomeProject.Unittests.dll’

Was ist da los?

Die NUnit Assemblies selbst sind mit .NET 2.0 kompiliert. Der Consolerunner von NUnit läuft also auch mit der CLR 2.0 und kann somit keine Assemblies laden, die mit .NET 4.0 erstellt wurden. Glücklicherweise haben die Entwickler von NUnit genau für diese Fälle einen Kommandozeilenparameter für nunit-console.exe eingebaut. Mit dem Schalter “/framework” kann man angeben mit welcher .NET Runtime die Test ausgeführt werden sollen. Der korrekte Aufruf lautet also:

nunit-console.exe /framework:v4.0.30319 bin\Debug\SomeProject.Unittests.dll

Jetzt tritt keine Exception mehr auf und die Tests laufen auch auf der Console sauber durch.

Der Schalter war übrigens vor dem Umstieg (es wurde .NET 3.5 SP1 verwendet) nicht notwendig, da .NET 3.5 dieselbe CLR wie .NET 2.0 verwendet.

Categories: Softwareentwicklung Tags: , ,

Tipps für Visual Studio 2008

February 26th, 2009 Bernd No comments

Man lernt ja nie aus. Diese Aussage trifft auch auf die Einstellungen und Optionen zu, die man im Visual Studio 2008 verändern bzw. anpassen kann. Ich hatte letzter Zeit ein paar Aha-Effekte, die ich euch nicht vorenthalten möchte. Da ich hier mit der englischen Version von Visual Studio arbeite, kann ich leider nur die englischsprachigen Einstellungen beschreiben. Wenn mir jemand die deutschen Texte zukommen lässt, trage ich diese entsprechend nach.

Save new Projects when created” – diesen Punkt findet man unter “Tools-Options-Projects and Solutions”. Dieser, per default eingeschaltete Parameter sorgt dafür, dass neue Projekte sofort nach dem Erstellen gespeichert werden. Wenn man häufig kleine Testprojekte erstellt, die man eigentlich gar nicht aufheben will nimmt man diesen Haken raus. Sehr hilfreich um die Flut von WpfApplication1, WpfApplication2, … usw. zu vermeiden. Danke an Tom Müller für diesen Tipp!

VS2008Options

Startup project – current selection” – Wenn man mehrere ausführbare Projekte in einer Solution hat, ist es mühsam immer das zu startende Projekt per Kontextmenu als “Startup Project” zu setzen. Im Konfigurationsdialog der Solution gibt es unter “Common Properties-Startup Project” die Möglichkeit auf “Current Selection” umzustellen. Dadurch erreicht man, dass beim Ausführen das momentan selektierte Projekt ausgeführt wird.

SolutionConfigSnip

XAML Files mit dem Sourcecode Editor öffnen” – Eine Einstellung die ich schon relativ lange verwende, die aber momentan einen kleinen Hype in der WPF Community erlebt (z.B. hier). Wer mit der Performance des eingebauten WPF Designers / XAML Editors nicht zufrieden ist, kann Visual Studio dazu bringen XAML Files mit dem normalen Source Code Editor zu öffnen. Dazu das Kontextmenü auf einer XAML Datei im Solution Explorer öffnen und “Open with …” auswählen. In dem Dialog der sich daraufhin öffnet, wählt man nun in der Liste den Source Code Editor aus und klickt rechts auf “Set as Default”. Ab jetzt werden XAML Files standardmäsig mit diesem Editor geöffnet. Braucht man doch einmal den Designer wählt man einfach im Kontextmenü des XAML Files den Punkt “View Designer”.

Viel Spaß mit den Tipps. Vielleicht war ja für den einen oder anderen etwas Neues dabei.

Categories: Verschiedenes Tags: