The roadmap for placement of namespaces in DLLs
The physical project directory structure is drawn below with a few file entries for clarity. It is similar to the structure used by NAnt.
It can be found in the SourceForge CVS using the following parameters:
- Host: cvs.sourceforge.net
- Repository Path: /cvsroot/springnet
- Module: Spring.Net
- VS.NET solution is set up to place the build output to the directory Spring.Net\build\VS.NET\<Project Name>. This avoids a bug
in VS.NET when many projects are compiled to the same output folder.
- The solution file Spring.Net.1.0.sln contains the projects that are part of the 1.0 release. Spring.Net.Release.sln is used to create the release and include the msi installer project as well as the quick starte examples. The same convention applies for Spring.Net.1.1.sln and Spring.Net.Release.1.1.sln
- NAnt build scripts are configured for each project in the hierarchy. Main build file (Spring.build) calls individual project files in order to build and test the whole solution.
- Project references to third party .dll are made relative to the lib directory and not those that might be stored in the GAC.
- The subdirectory structure of lib separates out the various .dll specific to versions of the .NET framework. Right now this applies to log4Net and NUnit. This structure also plays nice with internal functions of NAnt to make the NAnt.build file easier to write.
- In order to have only relative links in VS.Net project files, it is important that you follow these gudelines.
- Many folders contain readme.txt file that explains what they contain. Please refer to thos files if you are unsure where to put something.
- There are a few .cvsignore files that ignore the VS.NET user artifacts and object/binary directories.
- When working with the example programs care must be taken to preserve the Hintpath in the .csproj so that it will refer to the "deployment" location of the Spring libraries, namely HintPath = "..\..\..\bin\Spring.Core.dll. For day to day development it is more convenient to work against the build location from the main Spring .sln file. To do this change the settings in your .csproj.user file to be the following
where the ReferencePath points to your working development directory.
Anonymous Checkout for Windows
There are several CVS clients for Windows
now, but if you are only checking out the source, the fastest, simplest thing is to install the command line CVS client
For more, see the CVS Home
page.
Then, you can just follow the default instructions on the Spring.NET CVS
page.
So, after installing CLI CVS, and putting it on your path, for Spring.Net, you would
- Create a project folder somewhere (say, C:\projects\SourceForge\springnet)
- Open a command prompt box
- Change to the root of your project folder
- Run the login command
cvs -d:pserver:anonymous@springnet.cvs.sourceforge.net:/cvsroot/springnet login
- Run the checkout command
cvs -z3 -d:pserver:anonymous@springnet.cvs.sourceforge.net:/cvsroot/springnet co -P Spring.Net
- Mission accomplished!
For Subsequent updates, login and then run the Update command
cvs -d:pserver:anonymous@springnet.cvs.sourceforge.net:/cvsroot/springnet login
cvs -z3 -d:pserver:anonymous@springnet.cvs.sourceforge.net:/cvsroot/springnet up -P Spring.Net
Anonymous Checkout for Windows with TortoiseCVS
See the attached screenshot for info on what to fill in the Checkout Module form.
