I have some C# enterprise type work coming up and am looking for advice or links to good information about what a great C# stack looks like. Specifically I'm wondering what good options are for unit testing, mocking, building, database connectivity, and dev libraries and frameworks.
I have a lot of experience with enterprise Java, for comparison here is what my answer would be for it:
Testing: JUnit, Hamcrest, Mockito
Database: Mybatis, Mybatis Migrations
Build: Maven or Gradle
Libraries/Frameworks: Guava, Guice, HttpClient, Jersey or Stripes, log4j, Apache Commons
Thanks!
Testing: xUnit or nUnit. FsCheck, Fuchu and FSpec, if you want to try a more functional approach. SpecsFor, BDDfy, Fixie, Machine.Specifications for BDD and other approaches.
Mocking: NSubstitute or FakeItEasy
Database: Simple.Data, PetaPoco, Massive for Micro ORM's. Entity Framework and nHibernate for full featured ORM's.
Build: There isn't a Maven/Gradle comparison but you can use NuGet, MSBuild, Fake, pvc build, etc.
Logging: ELMAH, NLog, Glimpse, Serilog
If you need other suggestions, let me know.