开发者

.Net: State of the Art in tools & frameworks

This is question for those who work in .Net and are curious enough to expand their 开发者_如何转开发toolset, including also things beyond Microsoft's solutions.

Coming from the Java world, there is a toolset I would consider using every new project, such as:

  • Spring for IoC and MVC.
  • JPA/Hibernate for persistence and ORM.
  • JUnit/TestNG for unit testing.
  • Maven for build management.
  • Sonar for code quality metrics.
  • CruiseControl/Hudson for continuous integration.
  • Etc.

Question:

What would be the similar toolset for high quality .Net projects?

My (basic) knowledge tells me that I should look into NHibernate and NUnit. Also, that I could still use CruiseControl for CI as long as my build procedure and testing scripts are sound. Does it makes sense? Any other worth looking tools? (coming from MS or from the community)

Some people has told me about Microsoft latest tools for CI (Team System, etc.), but they didn’t have real on-hands experience. If you have such experience, please feel free to share it.


Our current stack at work is as follows:

  • Castle Windsor for IoC
  • NHibernate for persistence/ORM
  • NUnit for unit testing (I'm also working on adopting a mocking framework like Moq or Rhino.Mocks)
  • MSBuild for builds
  • TestDriven.NET for unit testing within Visual Studio
  • TeamCity for CI (although we've used CruiseControl.NET/NAnt in the past)


Just replace the 'J' by an 'N' and you're almost done...

  • Spring.Net (or Windsor/Castle or LinFu)
  • NHibernate
  • NUnit (or MbUnit, which I prefer, or xUnit.Net)
  • NDepend for code quality metrics
  • CruiseControl.Net (or, even better: TeamCity)

also definitely useful:

  • NCover for code coverage analysis
  • MS StyleCop/FxCop for textual/static code analysis
  • Simian for Code clone detection

HTH
Thomas


I would have used TeamCity as a continuous integration server - it's easy to use and install and can run NAnt, MSBuid and more.

If you plan on using NUnit make sure you have a way to run your tests from within the IDE - eith TestDriven.NET or Resharper/CodeRush runners would do.

You can use Spring.NET or StructureMap for IoC (although any other framework would be just fine).


Surprisingly different, our current stack is:

  • StructureMap for IoC
  • We rolled our own ORM
  • MbUnit and Moq for Unit Testing
  • MSBuild for builds
  • Gallio Icarus/Visual Studio test runner for running unit tests
  • TeamCity for CI
  • FxCop/StyleCop for code quality


Visual Studio 2010 Ultimate with TFS and TFS Build.

This covers all the areas you list (and more). If we need more (e.g. for IoC) would then look at other tools (the first would be for mocking which VS doesn't directly include, and then likely Moq (but it has been a while since I tooled at what's good in that area)).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜