IVsProjectFlavorUpgradeViaFactory Interface

Upgrades flavored projects using a project factory.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.9.0 (in Microsoft.VisualStudio.Shell.Interop.9.0.dll)

Syntax

'Declaration
<GuidAttribute("D717B926-12EE-4285-9123-522ED54C4859")> _
<InterfaceTypeAttribute()> _
Public Interface IVsProjectFlavorUpgradeViaFactory
'Usage
Dim instance As IVsProjectFlavorUpgradeViaFactory
[GuidAttribute("D717B926-12EE-4285-9123-522ED54C4859")]
[InterfaceTypeAttribute()]
public interface IVsProjectFlavorUpgradeViaFactory
[GuidAttribute(L"D717B926-12EE-4285-9123-522ED54C4859")]
[InterfaceTypeAttribute()]
public interface class IVsProjectFlavorUpgradeViaFactory
public interface IVsProjectFlavorUpgradeViaFactory

Remarks

This interface is implemented by the project factory of a Project Flavor that will participate in the upgrade process of a flavored base project. The Project Flavor that can be updated are stored as build properties and XML fragments in the Project and Project User files. The IVsProjectFlavorUpgradeViaFactory implementation of a base project's IVsProjectFactory object is called by the solution, before the project is opened. Allowing the ProjectFactory to handle this upgrade process provides a level of abstraction and keeps knowledge of previous file formats out of the project implementation object.

In order to allow ProjectFlavors to participate in the project file upgrade process, the base projects implementation of IVsProjectFactory will call UpgradeProjectFlavor on each of the project flavor ProjectFactories included in the aggregated GUID list. The base project will call these methods even if the base project itself does not require upgrading. If any project flavor requires an upgrade then the base project will perform a project upgrade taking care of the required side-by-side or copy backup of the project file. The base project determines the style of backup that is appropriate.

See Also

Reference

IVsProjectFlavorUpgradeViaFactory Members

Microsoft.VisualStudio.Shell.Interop Namespace