views:

59

answers:

1

This is a problem that has been eating at me for a while, and I just haven't found a good solution (no pun intended) for it.

I'm using Visual Studio 2010 with Subversion and Ankhsvn. It works very well, however, my biggest problem with it is that it only retrieves and manages files that are "included in the project". This is great in many situations, but kind of sucks when you want a folder with objects that you want to include in the solution, but do not want to have in the project itself (in this case a web project).

In this case, I want to include some 3rd party DLL's into source control (so they can be kept up to date when syncronizing with version control). I don't want the developers to have to install the 3rd party dll's seperately. What normally happens is that you reference the DLL's from some other location and they get copied into your bin folder at compile time.

I do not wish to include them in the project because i don't wan them copied to the web server when I publish the site (other than via the bin directory where they should be). I thought of creating a seperate project for these, but that would create a useless dll with no purpose that would then get copied to the bin folder because it's referenced.

I've also tried to check them in from the bin folder, but this has caused a number of problems where files did not syncronize prolerly, with subversion saying things about an already version folder being present etc.. This seems to be a subversion or ankhsvn problem rather than a visual studio one. As such, i try to keep the bin folder untouched by version control.

How have you solved this problem in your projects?

+1  A: 

This is how we do it in our project.

Folder Structure

We have a SourceCode folder which has the subfolders for the projects which contain the code.

Additionally this has a folder called Library which has the correct version of any 3rd party dll's that we use. This folder in in version control and hence everyone always has the correct version of the 3rd party dll's

All references in the projects to 3rd party dll's are relative from this Library folder.

Since everyone has the SourceCode folder on their machine, it works fine with no issues.

EDIT: Added image of Solution Folder with library contents to it VS Solution Folder

InSane
That doesn't address my question at all. I specifically said I did not want to do things this way because I don't want the dll's pushed to the server in that folder on publish. The alternative to that is specifying that they not be included in the project, which means they don't get syncronized via ankhsvn, and would require sycronizing with something like Tortiose which is a pain to have to syncronize in two places.
Mystere Man
You don't publish a folder. You publish a project. As such, i'm not sure what you are saying. I'm not using TortioseSVN, only ankhsvn. I don't want to use both. As such, all version control has to happen with Visual Studio
Mystere Man
Ok, so if your web app project is in the websites folder, how are you syncronizing your source tree? I presume through something like TortioseSVN. In my case, I don't wan to use TortioseSVN to syncronize, I only want to use Ankhsvn. And, since AnkhSVN only sycronizes files that are included in the visual studio solution... Are you getting my point yet?
Mystere Man
I already tried that as well. Solution Folders are not actual folders, they can only contain other solution items (like projects). So, you can't add physical things like folders and assemblies to them.
Mystere Man
@Mystere Man - you mean something like this http://i56.tinypic.com/5ugys1.jpg doesnt work for you? I am able to add assemblies to solution folders in VS2008. What version of VS are you using?
InSane
Ahh.. When I tried to add the files to the solution folder earlier, i was trying to add files with subfolders, and that was where the problem was. When I added the DLL's individually, it works. Thanks.
Mystere Man