Cross-version MPF projects

Apr 3, 2014 at 8:59 PM
Is there a generally accepted way of creating a project system that works on multiple version of VS? We'd like to avoid having separate projects when each version would do just about the same thing.

Apr 3, 2014 at 10:48 PM
Hi Eric,

The simple answer is no. You will need to have several MPF sources to support multiple VS versions.

I think, the best way would be to keep MPF separate from your logic. Create several custom compilation targets like DEBUG, RESLEASE, etc.. but for specific MPF (VS version), and define the references: to one of projects with specific MPF sources, and different versions of extensibility DLLs. Then you will be able to change the target and build the output files for each version of VS. That is just an idea. There are other similar options. It also depends on what other actions do you perform during the build (I generated the entire msi file for my extension using WiX project on build, so that was easier to have separate solutions with some common projects for my custom logic). So doesn't matter what way will you use, but all of them require to clearly understand what and when is referenced and what will be compiled to the output. But keeping your custom project system logic separately is definitely right approach. You might even add an extra layer between MPF and your logic using custom interfaces to reduce the dependency between them.

It's a pity I can't provide you a ready solution, but hope it will help to figure out in which direction to go further.