Geeks With Blogs
Daniel Schroeder Sharing my tips and tricks to help other developers be more productive. This blog has moved to http://blog.danskingdom.com

I came across this great article which talks about simply unloading projects from a solution to make the solution load and build faster in Visual Studio.  This is great, as some of the solution files I work in contain over 300 projects and it can sometimes take a while to load.  Also, because the information about which projects to load is stored in the .suo file (not the .sln file itself), this can be configured per developer so they only have to load the projects that they work in (the .suo files should never be stored in source control).

Now, unloading 300 projects one at a time would take forever, but luckily there…

Read more at http://blog.danskingdom.com/making-solutions-with-lots-of-projects-load-and-build-faster-in-visual-studio/

Posted on Wednesday, June 1, 2011 8:55 AM | Back to top


Comments on this post: Making solutions with lots of projects load and build faster in Visual Studio

# re: Making solutions with lots of projects load and build faster in Visual Studio
Requesting Gravatar...
I thought I had it rough with 45 projects.

I am going through an initiative to consolidate the projects and get it down to a more reasonable number.

Why do you have so many projects in a single solution?
Left by Nick Harrison on Jun 02, 2011 7:05 AM

# re: Making solutions with lots of projects load and build faster in Visual Studio
Requesting Gravatar...
Our application is very large; it's been in development for over 10 years now. We already have it broken into a Client solution (with around 50 projects), and a Server solution (over 300 projects, like I mentioned). We have many different areas in our system (POS, CRM, HR, Settings, Widgets, etc.) and integrate with many different providers. We also have many different development teams (Core, Payment Processing, Integration, Enterprise, API, etc.) all working in these 2 solutions. Also, we have 4 different tiers on the server; IApplicationServices, ApplicationServices, DataServices, and Database, so typically each area has it's own project in each of these tiers. Also, because the software is so old, we have many legacy projects in VB that haven't been converted (or are duplicated in some cases) in C#.
So in the beginning it seemed like a good idea to isolate each component into it's own project, but over the years it has kept growing and growing and is becoming unwieldy.
We've discussed the possibility of breaking the server solution into 2 or 3 separate solutions which would solve this issue, but would be more work for the developers as they have to make sure they build all of the solutions in the correct order after updating their code, and makes it harder to do refactoring and global searches. We have also considered consolidating many of our projects, and still may do this, but even then I'm sure we'll be left with at least 100 projects in the solution, so I'm still going to be using this method to unload/reload projects.
Left by deadlydog on Jun 02, 2011 7:40 AM

# re: Making solutions with lots of projects load and build faster in Visual Studio
Requesting Gravatar...
Don't you run into the same "makes it harder to do refactoring and global searches" with the unloaded projects approach too? That's pretty much why I stopped doing this
Left by Ken on Jun 17, 2011 8:36 AM

# re: Making solutions with lots of projects load and build faster in Visual Studio
Requesting Gravatar...
Yeah, you're right that we still run into issues with refactoring and global searching, but it only takes a couple clicks reload all projects in the solution again. The worse part is having to re-unload all of the projects you don't want again after doing the search/refactor; sounds like a great candidate for a VS Extension (being able to load/save to a file which projects should be unloaded)!
Left by deadlydog on Jun 20, 2011 8:23 AM

Your comment:
 (will show your gravatar)


Copyright © deadlydog | Powered by: GeeksWithBlogs.net