How to handle small "libraries" that are shared across a number of my CodePlex projects

May 27, 2010 at 5:20 AM

Sorry for the long title.

If I have a dozen projects that all use a very small utility library, how does that work with CodePlex? For example, I do want to include the utilities libary in each of the projects so that users don't have to download it separately, but I don't want to maintain a dozen separate copies of the library.

Working on my desktop, I can include the library in all of the solutions and then all the projects benefit from any additions or corrections made to the utilities library.  But... I can't include that library project in my SVN collection because it is outside of the working folder for all of those projects.  So in order to include it in the CodePlex projects, I'm creating a copy of the library, moving it into the working folder for each project, and the checking in the works.

If this libary was significant, I could see creating a separate CodePlex project for it.  But it really doesn't warrant that.  Also, even if I did, I wouldn't want users that download the other projects to have go get the utilities library separately.

I'm not sure if this description of the problem or what I'm going for is clear. Please let me know if I can clarify or if it's already clear, what do others do who have some shared code that they want to include with a number of their CodePlex projects?



May 27, 2010 at 6:31 PM

Is it absolutely necessary to distribute this library in code format? I've overcome this problem before by just putting the dll into the dependent projects repository. It's not ideal but at least then you've only got 1 set of code files to update, then when you build a new version of the library and drop the dll into your other projects, source control will pick it up as an edit.