First, read this (Joe Field, CruiseControl.net from Scratch) ! It will help tremendously.
Stepping cautiously through the config helps a ton. I recommend downloading the cruisecontrol.net source code, however, so you can track down bugs.
INTERNAL ERROR: Value cannot be null. Parameter name: path
When running ccnet.exe after configuring vss details, I got the error:
INTERNAL ERROR: Value cannot be null. Parameter name: path---------- System.ArgumentNullException: Value cannot be null. Parameter name: path at System.IO.Directory.CreateDirectory(String path)
I googled it to find http://jira.public.thoughtworks.org/browse/CCNET-102 describing the symptom and recommending a correction.
This turned out to be a null Working Directory! The user that I configured is not a real developer, but a user for automated builds, and has no working directories configured. I attempted to set path to foler as a config item but it did not correct the issue. I resolved the issue by setting a working directory on the target project in VSS. After I did that, the source control monitor worked! I then removed that setting and it seemed to persist. So set it carefully!
Getting Lateset using VssGet (NAnt contrib)
using a target in my nant config simila to this, i get the following error:
<target name="getsource" depends="clean"> <vssget user="autobuild" password="buildit" localpath="C:\TestDrectory" recursive="true" dbpath="\\VSSServer/INIFolder" path="$/Project/Source" /> </target>
Failed to open databaseThe SourceSafe database path autobuild does not exist. Please select another database.
Hmmm. Did i not specify that 'autobuild' is the user? And the path is correct!
Well, you may just need to include the '\srcsafe.ini' in the path. <target name="getsource" depends="clean"> <vssget user="autobuild" password="buildit" localpath="C:\TestDrectory" recursive="true" dbpath="\\VSSServer\INIFolder\srcsafe.ini" path="$/Project/Source" /> </target>
will get you there