Fails for flavored projects


The code does not work for flavored project subtypes. The core issue appears to be the calling sequence from Visual Studio. The MPF code is structured based on the assumption that the PreCreateForOuter method will be called after IVsAggregatableProjectFactory.CreateProject, which passed in the name of the project file, allowing that method to retrieve the guid list and initialize other project properties. However, Visual Studio 2013 does not call the CreateProject method. Instead, it calls PreCreateForOuter first, at which point the project filename is not known.

A further problem exists with the ProjectNode.SetInnerProject method. It returns E_NOTIMPL to indicate that the custom project cannot be flavored. However, since this method is called for the custom project itself, Visual Studio then aborts the aggregation.

This code was obviously never tested for flavored projects.