(english version below)
Gestern Abend verzweifelte Fehlersuche: Beim Benutzen von
NUnit stellte ich ein seltsames Verhalten fest. Die einzelnen Tests liefen problemlos durch, jedoch war ein vernünftiges Debuggen nicht mehr möglich. Visual Studio behauptete, dass keine Debuggersymbole geladen seien [1] und so wurden keine Breakpoints mehr angesprungen.
Völliger Blödsinn natürlich, ich war mir ganz sicher dass ich die richtigen Einstellungen getroffen hatte.
Nach einer Stunde herumsuchen war dann klar: Alle Optionen sind so wie sie sein sollen. Nun war gute Rat teuer. Bis mir einfiel, welche Änderung es seit dem letzten Testlauf gegeben hatte: Das Frameworkversion war von 3.5 auf 4.0 verändert worden. Schnell mal probeweise wieder die ältere Version eingestellt und siehe da: es geht.
Das Problem findet sich dann bei NUnit selbst. Die Binaries wurden mit .NET 2.0 erstellt. Kann man auch problemlos mit eigenen Projekten verwenden die 3.0 oder 3.5 nutzen, ab 4.0 geht es aber nicht.
Glücklicherweise ist NUnit aber OpenSource, also flugs den Sourcecode besorgt und mit .NET 4.0 Unterstützung neu gebaut. Naja, so schnell ging es dann nicht [2], aber nach getaner Arbeit funktionierte alles wieder so wie es sollte.
Wer das gleiche Problem hat, sich aber das Neukompilieren ersparen will, kann die erzeugten Binaries auf
http://blog.http.net/allgemein/probleme-mit-nunit-und-net-4-0/ herunterladen.
Short english version:
Problems with NUnit and .NET 4.0
If you use NUnit with a .NET 4.0 project, you have to recompile NUnit with the same framwork. Otherwise breakpoints are not working [1].
You can download a .NET 4.0 - NUnit version at
http://blog.http.net/allgemein/probleme-mit-nunit-und-net-4-0/
[1] The breakpoint will not currently be hit. No symbols have been loaded for this document.
[2] Anscheinend fehlen mehrere Dateien in dem Source-Archiv, daher musste ich erst einmal eine Weile Abhängigkeiten prüfen bis die Kompilierung erfolgreich war.