was so die populärsten Frameworks
Welch Überraschung - das .net Framework ;)
Bereich automatisiertes Testen
Ich würde dir auch NUnit empfehlen, nicht nur wegen deiner Vorkenntnis sondern weil ich auch damit arbeite und es für sehr praktisch halte.
Interessant ist auch ein Blick auf
PEX. Das ist ein Framework von Microsoft-Research das mit PUTs (parametrisierte Unit-Tests) arbeitet. D.h. anhand des zu testenden Codes werden die Eingangsparameter für den Unit-Test automatisch ermittelt so dass die "Code-Coverage" möglichst hoch ist. Ich verwende PEX in Zusammenarbeit mit NUnit. Von PEX lass ich mir die Test erzeugen und mit NUnit teste ich dann bis es funktioniert (TDD - Test driven design).
Bereich DB/ORM
Da gibts wirklich jede Menge Auswahl - fast soviel wie Sand am Meer ;) Ich arbeite gerne mit Objekten und deshalb verwende ich O/R-Mapper. Für kleinere Anwendungen verwende ich LINQ to SQL, vor allem wegen der Einfachheit. Das heißt jedoch nicht dass es nichts kann. Eher meine ich damit dass sehr zielführend die Datenbankstruktur in Klassen gemappt werden kann. Ähnlich wie LINQ to SQL ist das ADO.net Entity Framework. Das ist auch ein O/R-Mapper von Microsoft (und somit Bestandteil von .net 3.5 SP1) jedoch kann damit "alles" gemacht werden. In den meisten Fällen ist es (meiner Meinung nach) Overkill mit dem ADO.net EF zu arbeiten. Außerdem vertrete ich die Meinung dass ein guter Datenbankentwurf nicht durch komplett anderes Mapping auf Klassen zerstört werden soll.
Ich würde die Verwendung von LINQ to SQL empfehlen - es wird von Microsoft noch weiterentwickelt aber nicht mehr im selben Ausmaß wie dies der Fall vor Einführung des MS-internen Konkurreten ADO.net EF war.
Dependency Injection
Spring.net kenn ich nur vom Namen. Ich hab mir mein eigenes "Framework" dafür gebaut. Das hört sich aufwändig an ist es aber ganz und gar nicht. Einen Start wie das gehen kann zeigt
Golo Rodens Blog. Es sind also nur ein paar Zeilen Code notwendig - natürlich kann das noch ausgebaut werden (hab ich auch gemacht ;)
Ich sehe den Vorteil im Eigenbau darin dass ich genau weiß was wann passiert. Es ist zwar ein wenig Zeit zu investieren aber diese muss auch in die Einarbeitung in DI-Framework investiert werden. Diese sind auch leider meist schlecht dokumentiert oder einfach Overkill.
Build/IDE/CI...Was hab ich vergessen bzw. sollte ich mir unbedingt ansehen?
Es gibt noch eine Menge Tools die das Arbeiten erleichtern. Eine Übersicht wird
hier gezeigt.
Als eines der praktischsten Tool finde ich den
Reflector. Mit dem ist möglich den Code anzuschauen. Dies kann hilfreich beim Verständnis wie was in .net funktioniert. Auch kann so viel von den Klassen welche im Framework vorhanden sind lernen.
Weiters finde ich den
CLR-Profiler sehr nützlich um die Anwendung zu "profilieren" können.
Solltest du konkrete Fragen zu irgend was haben stell sie einfach hier bei codekicker ;)