Ask HN: Looking for C# dev stack advice
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! Hard to answer this question due to the number of possible answers but you can try the following: 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. Oh boy, coming back to C# after a couple of years was a total shock for me. Here are some things that come to mind: Dependency Injection:
NInject ORM:
Entity Framework, Linq Logging:
log4net Package Management:
NuGet Interface between web applications and web servers:
OWIN Ideas, Books:
POCO, Applied Domain Driven Design and Patterns Libraries:
AutoMapper