R – What’s the best method for setting up a new .NET project


So I'm newly in charge of projects at my company (We're still only 2 guys, but we're growing) and I want to set up my projects the right way.

All my projects are in an SVN repo already, I've got bug tracking software set up, but what I'm looking for is the best way to layout a new project with tests, SVN, and a build server. I want to set up all our new projects for CI, but I'm not sure exactly how to lay everything out so it as smooth as possible.

I know I need:

  • A build server
  • All build/testing materials in the SVN repo (including DB schema)
  • A project layout that's conducive to CI

How do you guys set up your projects? I want to use MSBuild for my build server, since everything is already set up that way thanks to VS, but I'm also looking for tips on how files should be laid out, how projects should be laid out in a solution, etc. As it stands, I've got about 5 projects in my solution, one of which is the testing project that contains all the tests for the rest of my projects. Is this the preferred method?

How about layout inside your repository? Where do you keep your DB related stuff? Specs and documents?

Do you use any particular software for CI, or just follow the "Continuous integration is more like a state of mind" mantra?

In general, I'm looking for tips on getting a new project off the ground the right way, so everything proceeds as smooth as possible later on, as well as being easy for new developers to get acquainted to.

Best Solution

Cruise Control is a great product for Continuous Integration. Another option that is a little "easier" to set up is Jet Brains's TeamCity.