This project has moved. For the latest updates, please go here.

SharedProject Development

Apr 14, 2014 at 7:07 PM

I have a unique question regarding a single part of the PTVS codebase. In particular, I'm hoping I could understand better the SharedProject files under Common\Product\SharedProject. Where did this code come from? Was it created by the PTVS team? And how does it related to MPF?

The reason I ask is that I'm looking to help Wix improve their VS integration but they're struggling with how to handle all of the MPF versions. I'm wondering if SharedProject would be a good way to avoid all of the issues with MPF versions.

Thanks for any information you can provide,

Apr 16, 2014 at 4:58 PM

SharedProject is a deriviate of the MPFProj code base ( It includes a large number of fixes/changes to the core of MPFProj and it also includes all of the Common*classes which make it a little more script friendly and add some additional features.

It actually comes from MPFProj circa 2008 but I think there were merges done w/ MPFProj12 or 11 (not much changes in MPFProj between releases). At this point it’s starting to diverge in fairly substantial ways. All of the Common* stuff was also developed starting around 2008 as well.

Certainly one benefit of using the SharedProject code is that it is designed to build with multiple versions of Visual Studio. It also should be more robust having had tons of fixes and real world usage, has more test cases, etc… And it’s been used in multiple products including PTVS, NTVS, and other people have picked it up as well.

The downside is we don’t have any directions, wizards, etc… on how to get started using it. But basically if you follow the MPFProj directions and then import the SharedProject.proj file into your project you should be good to go.

Apr 16, 2014 at 5:08 PM
Thanks for all the information. I'm going to use this and see if I can use it as a base for Wix's VS integration going forward.

Seeing as this is being used in multiple projects, how would you feel about separating SharedProject out and turning it into a separate open source project? It seems like this would be a great way for all the projects to collaborate and improve the tool in one place. Having the code in one place allows us to aggregate all the changes and bug reports in one place. What do you think?

Apr 16, 2014 at 5:37 PM
That's something I'd have to discuss with the team. My biggest concern would just be the additional overhead that it might cause for us as we frequently make changes to the code base and personally I wouldn't want to add the extra merge process unless we were seeing significant traction in getting others to use it. But we can discuss it at our team meeting and see what people think. We are happy that people are picking up the code and finding it useful, on the other hand we're a little reluctant to become the official owners of the project system :) I'll report back (it may be sometime next week though, we just got back from a couple of weeks of conferences so our workflow is a little disrupted).
Apr 16, 2014 at 5:51 PM
I totally understand your concerns, this would probably have to be a joint project among a number of open source project teams for this to make sense.