One solution versus multiple solutions

Topics: General Questions
Jun 5, 2013 at 7:03 PM
We have one large Visual Studio solution that is deployed as multiple BizTalk applications (around 20). We are trying to add BTDF to do builds and deployments. On these boards I read that the VS add-in will not work in this situation, but multiple msi's can be generated with multiple Deployment projects.

Question one: Will building multiple msi's from one solution work in TFS?

Question two: Is it worth the effort to split up the large solution into multiple solutions? Is there a best-practice for this?

Question three: Is there a third option I'm not thinking of? Something other than one solution with 20 Deployment project or 20 separate solutions.

Thanks for building this framework and supporting it.
Jun 5, 2013 at 7:15 PM

I can't answer question 1 for you, sorry. We use one solution per BizTalk application. We went down this road from the beginning and have been operating this way for 2+ years. We're very happy with this method.
It helps both with the deployment framework as well as the overall, day-to-day development. The more people you have developing and maintaining the applications, the better the multiple solutions end up being. (TFS Conflicts reduced, etc.)
Also, we do have inter-application relationships going on as well. The BTDF will help with that as well during MSI install/deploy time. You'll be able to set up the dependencies and do the bindings as needed.

So, in my opinion and experience, splitting these applications up is best. I'd like to hear other experiences as well though. Perhaps someone has gotten the single solution thing to work well.
Good luck!

Chris J Albertson
Principal | Integration Architecture and Development Services
SIBRIDGE Consulting

Jun 17, 2013 at 6:17 AM
Hi Kris,

Q1: Probably so. For a Deployment Framework TFS build you already add two items to your build list -- the BizTalk solution and the .btdfproj. I can't think of a reason off the top of my head why you could not add many .btdfproj files to that list instead of just one.

Q2: I would tend to say yes, but it depends on what works for your particular team. As Chris mentioned, the more contention you have due to multiple developers, the more trouble you can get into with one huge solution. I typically have a Common solution and many app solutions (which have to reference the schemas projects from the Common folder causing a workable but imperfect separation).

The Visual Studio add-in will only find one of the .btdfproj files, even if you have many of them. That's the unfortunate side effect of not being a full-blown custom project type to Visual Studio (a huge dev effort). The Framework itself is not limited, so if you automated/scripted things you could survive without the add-in. However, the add-in gives you a significant productivity boost, so personally I would not work without it.

Q3: Not that I can think of right now.