Step 1 Setting up Source Control

Most systems I've seen have a setup as below :

  |    \Lib
  |    \Src
       |  \Lib
       |  \Src

Trunk is the 'line' where you'll do your every day work. This has 2 main folders : Lib and Src.
Lib holds any assembly's you use in the code : 3rd party assemblies.
Src holds the actual source.

These folders may off course have sub-folders.

Sometimes there are other folders also, like Tools (also directly under Trunk)

When you place a reference, it must be to the lib folder, or to standard .Net runtime which resides in the Global Assembly Cache.

The benefits of this setup :
  • when a new developer joins the team, he only needs to get the latest situation from source control, and he can start. No hours lost finding the correct version of a tool or library.
  • when you need to do a fix on an older version, you'll have the correct versions of all 3rd party assemblies and tools.