BUILDING THE C5 GENERIC COLLECTION LIBRARY FOR C#/CLI Updated 2008-02-10 The C5 library can be built by opening the solution file C5.sln in the current directory with Microsoft Visual Studio 2008 or Microsoft Visual C# 2008 Express Edition and performing a build all. Or execute 'msbuild C5.sln' from the command line in this directory. This will build C5 in file C5/bin/Release/C5.dll Building all in the C5.sln solution will also build these projects: * The 'PreProcess' project generates some of the C5 sources by preprocessing files. This is necessary for the C5 build. * The 'docNet' project generates on-line documentation; see below. * The 'UserGuideExample' project compiles the examples from chapter 11 of the technical report ITU-TR-2006-76 * The 'nunit' project compiles the unit tests but does not run them; see below. An enormous number of compilation errors will result unless you have NUnit 2 installed. The project is configured for NUnit version 2.2.9 and was tested with that version. The build should complete with a few dozen compilation warnings. ------------------------------------------------------------ Generating the online documentation * Build C5 in Debug mode * Run docNet/dodoc.cmd, e.g. by double-clicking in Explorer * Press return The generation process should take less than 20 seconds. The generated documentation is in directory docNet/docbuild/ and subdirectories. The start page is docNet/docbuild/frames.htm Note: The generated online documentation is currently incomplete. Please refer to the Technical Report (ITU-TR-2006-76) instead. ------------------------------------------------------------ Running the NUnit tests Prerequisites: * You must have NUnit installed (version 2.2.x). * The nunit project (nunit/nunit.csproj) must include a reference to to the installed nunit-framework.dll. Add the reference by right-clicking "References" under "nunit" in Visual Studio's Solution Explorer. Steps to build and run unit tests: * Build the project called "nunit". * Start NUnit, select File > Open > nunit/bin/Debug/nunit.dll, or simply double-click nunit/bin/Debug/nunit.dll * Press Run in the NUnit user interface There are more than 1400 NUnit test cases which should execute in less than 30 seconds. All should pass when C5 is built in Debug mode. Note 1: The Release builds of C5 use randomized hashing for efficiency, whereas the Debug builds use deterministic hashing to simplify testing. This means that approximately 13 hashtable test cases will fail (harmlessly) when C5 is built and tested in Release mode, using File > Open > nunit/bin/Release/nunit.dll Note 2: C5 version 1.1.0 includes the test case support.itemops.EqualityComparers.SeqequalityComparerViaBuilder4 which works on VS2008 C#/CLR version 3.5, but failed on VS2005 with C#/CLR 2.0 due to a bug in that platform. Omit this test case if you need to build C5 on VS2005 with C#/CLR 2.0.