I have a project structure that looks like the following:
- [Solution Name]
- doc (documentation)
- extlib (external libraries depended on by multiple source projects)
- [Nunit]
- [FluentValidation]
- etc.
- src (source code)
- Solution file
- [C# library project folder]
- [MVC 3 Project folder]
- [NUnit Test Project folder]
I have a build process in CruiseControl .NET for each project. However, for example, when I include FluentValidation in my library project from it’s location off of “extlib”, CruiseControl doesn’t know about this directory and throws an error.
I wanted to keep all my external library in one place (same versions, etc.), but is this really necessary?
I’m betting there’s a better way to do this (NuGet packages maybe?) What’s the best-practices alternative to the way I’ve attempted to set up my build process here?
Update: FYI, I’m aware of why the error is caused. It’s caused because the extlib folder is above my source projects, but I only pull the source projects in their artifact folders for the build. So, to revise the question, I’m wondering if it’s a better route to reconfigure all my CruiseControl setup, or if it would be better to utilize NuGet packages within each project, etc.
Thanks in advance for any help you can give!
—
Sean
It is more natural for CruiseControl.NET to work at the solution level. I would suggest checking out your entire repository and using different triggers per project (as you state in your own comment:)).