CruiseControl.Net Tutorial – Part 2

15 06 2008

This post is no longer maintained. Click here for the updated version of this post





44 responses

16 06 2008
Reflective Perspective - Chris Alcock » The Morning Brew #115

[…] CruiseControl.Net Tutorial – Part 2 – Matteo continues his series on Cruise Control Setup and configuration with part two, covering the actual build and publish. […]

17 06 2008

Tutorial is excellent. One stop information required to setup CruiseControl.Net I just followed the tutorial and i don’t have to look elsewhere because of any issues occurred in between. All the blocks are nicely explained.
Tones of thanks for this.

18 06 2008

You’re welcome,
I’m very happy that you find it useful.
I will add some more details when I will add part 3.
Stay tuned!

25 06 2008

Good aritcle!

25 06 2008

Good aritcle!
I have a problem
I don’t now what testing tool use with the CruiseControl
for web applications with Ajax (C#) .Net
can you suggest me one?

pd:sorry my bad ingles

25 06 2008

Hello Lorena,

If I guessed your question right, you’re looking for a tool to test ajax enabled web pages.
I heard about a tool serving this purpose. I still didn’t try it but it seems to be good.
It allows you to write web tests from inside Nunit and supports both Internet Explorer and FireFox.
It could be the tool for you.
The name is Watin and you can find it here:


11 07 2008


This is an excellent article. I was completely new to CruiseControl and was having trouble gathering all the relevant information to get me up to speed. I then stumbled upon your blog and all became clear. Can’t wait to see Part 3

Many thanks indeed.

14 07 2008

Hello Colin,

thank you very much for appreciating my article!
I’m sorry for the delay in publishing part 3, I’m having hard time at work in these days.
I will try to be quicker in the next days and I hope you will like it when published.


21 07 2008

Hi I am facing a issues with the cruise control results. CC is showing up a build as failed when it is a success. Is there any fix for this? How can I sort this issue?

Thanks for your post it was simply superb.

22 07 2008

Hello Kishore,

you should tell me something more about the problem you’re facing.
I will be glad to help you if I can.
It could be useful if you post an example of your configuration or the relevant point of your log file.
I sent you an email about it.

Thank you for the compliments

12 08 2008

Thanks very much for the article. Very useful.

17 09 2008

brilliant stuff. thank you! looking forward to part 3.

17 09 2008

I’m very sorry for the delay, I was busy at work in the past months.
There are news, though:
I enhanced Nunit task for CCNET and they accepted my modifications (I will update this post to describe the new behavior),
I will soon post third part of this series,
I’m preparing a new article series about another interesting software.

Thank you for the feedbacks and for the patience to everyone

19 09 2008

Parts one and two have been very helpful in my quest to implement continuous integration. Thank you for making this available in a simple to follow presentation. I am desperately awaiting installment number 3.

Is it possible to use the executable task to delete a directory?

I tried this:

TempFolder /S /Q

but I get an error:
ThoughtWorks.CruiseControl.Core.Tasks.BuilderException: Unable to execute: FileName: [rmdir] — Arguments: [TempFolder /S /Q] — WorkingDirectory: [C:\Continuous Integration\Project]

19 09 2008

oops, my comment had it’s tags removed – that makes it tough to see what I tried to do – I’ll try it again…Here is my <exec> block:

<buildArgs>TempFolder /S /Q</buildArgs>

I hope html encoding it will make it show up properly here 😉

19 09 2008

I figured out how to remove a directory using the executable task:

<buildArgs>/C rmdir TempFolder /S /Q</buildArgs>

19 09 2008

Hello Joel,
I’m happy that you found the solution…sorry for coming back here too late to answer 🙂

9 02 2009

Wish I had found this earlier.
I wasted a lot of time tracking down that NUnit didn’t refresh on failures. 😦
Looked like everything was going great, but the test results weren’t changing.

18 05 2009

Hey ,

thanks a lot for the information.

Could you please mail me all the stuff that you have related to this cruisecontrol ???

Thanking in anticipation


28 09 2009


CruiseControl is there to help us get the work done and you made it easy enough for me to actually save time implementing it. There a cruel lack of documentation for typical uses of ccnet and your article is just great doing that!

Thanks a lot!

4 02 2010


Can you also Include how to integrate FxCop in the CCNet. Hope you’ll include it in your 3rd tutorials.


7 02 2010


I am new to CC.Net and when I tried to setup a project using it, I got errors. Please help me in resolving the error said below.

Full Details:

I am using v1.5 along with tortoise svn v1.6.6 and nunit 2.5.3. Also i have installed dot net framework 3.5 in my system which has XP and iis5.1.

I made a repositry in my local system and its path is like: file:///E:/Websites/Repositry

I have a SVN Checkout folcer in another path like: F:\Test

In my ISS, I have created one more folder with name “Test”, which is a virtual directory to the svn checkout folder.

I am using the below ccnet.config file:


C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe



When I am trying to build the solution using the Force button in, I am getting an error log like the below.

Error Message: ThoughtWorks.CruiseControl.Core.CruiseControlException: Unable to load the output from svn: —> System.Xml.XmlException: Root element is missing. at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.LoadXml(String xml) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.SvnHistoryParser.ReadSvnLogIntoXmlNode(TextReader svnLog) — End of inner exception stack trace — at ThoughtWorks.CruiseControl.Core.Sourcecontrol.SvnHistoryParser.ReadSvnLogIntoXmlNode(TextReader svnLog) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.SvnHistoryParser.Parse(TextReader svnLog, DateTime from, DateTime to) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.ParseModifications(TextReader reader, DateTime from, DateTime to) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.ParseModifications(ProcessResult result, DateTime from, DateTime to) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.GetModifications(IIntegrationResult from, IIntegrationResult to) at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild) at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to) at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)

Pls help me to get rid of this and get a successful build.

Thanks in advance

18 02 2010

Nice Article man but incomplete with the 3rd part,Keenly waiting for that.

6 03 2010

Best article on the subject. Couldn’t wait part 3.

27 04 2010
Anjan Maity


It is very nice tutorial. I have tried out with a solution combine with multiple projects. I am not getting all success.
I am tried with a settings that when a developer commit from a client m/c the ccnet will build automatically. I am not success .Could you be please describe this in part 3 and also please provide some downable source ,


27 06 2010
unit testing

nice one,and also waiting to the 3rd part..
thank u 🙂

2 09 2010

Nice tutorial! I was looking around for some good info like this. Seems a few things have changed in the CC.NET syntax but the overall game is the same. Cheers!

7 10 2010

Good tutorial!

Do you know how to get the patch or .dll for outputproperty of task?

This is there in Ant and whereas it is missing in Nant.

If you know any other way, please let me know.

Thanks in advance,

24 05 2011

Great article!

15 06 2011

Hi Matteo,

This is an excellent and informative article. Thank you very much for posting such a useful article. I learned lot of new things today. Eagerly waiting for part 3.

18 06 2011

Thank you very much for writing such helpful article!

NAnt and CruiseControl.Net have a set of common features. Which tool should we use for those common features? It would be great helpful if you share your idea about this decision.

Thanks in advance.

19 06 2011

I always prefer to use CCNET features when available and rely on Nant or custom executable only when there’s no other chance.
I think that it’s easier to read for a newcomer that need to work with a CCNET instance configured by someone else.
But this is only my personal opinion.

Thank you for you feedback

7 07 2011
Cuong Luc

This is a splendid tutorial which I’m looking for. Thanks for your very nice work!

4 08 2011

This was so useful I am actually wondering how much I’m missing on part 3. Where is it? Please update …

1 11 2011
Ashish Sharma

Excellent Article!
I am trying to setup my server with Cruise Controls and this blog is the best of all. Although, it’s already too late but still I am waiting for Part – 3
Thanks a lot and cheers for this wonderful work.

19 12 2012

There is definately a lot to find out about this issue.
I like all the points you made.

5 02 2013

“CruiseControl.Net Tutorial – Part 2 My view
on C#” ended up being truly compelling and instructive!
Within modern universe that is tricky to accomplish.

I am grateful, Kina

2 03 2013

“CruiseControl.Net Tutorial – Part 2 | My view on C#”
join911truth ended up being a wonderful post.
If only there was significantly more weblogs similar to this excellent one on the cyberspace.
Regardless, thanks a lot for ur precious time, Nan

17 07 2014
Pranjal R Nigam

Thanks for the article.

Many thanks.

16 12 2014
Fix Cruisecontrol Net Configuration Error Windows XP, Vista, 7, 8 [Solved]

[…] CruiseControl.Net Tutorial – Part 2 | My view on C# – Jun 15, 2008 · CruiseControl.Net Tutorial – Part 2 – Matteo continues his series on Cruise Control Setup and configuration with part two, covering the actual build …… […]

1 06 2016

I am using svn as my source control, and its a application, i am using msbuild to build the application.
till here everything is fine, now i want to deploy or copy the only modified files into another directory using ccnet, how can i do this. please help

thanks in advance

4 10 2018

сайт гидра – ссылка hydra, hydra вход

6 10 2018
2 11 2018

Мы предлагаем только качественные объекты недвижимости
по ценам собственников, без комиссий!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: