Share via


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
[GuidAttribute("D717B926-12EE-4285-9123-522ED54C4859")]
[InterfaceTypeAttribute()]
public interface IVsProjectFlavorUpgradeViaFactory
[GuidAttribute(L"D717B926-12EE-4285-9123-522ED54C4859")]
[InterfaceTypeAttribute()]
public interface class IVsProjectFlavorUpgradeViaFactory
[<GuidAttribute("D717B926-12EE-4285-9123-522ED54C4859")>]
[<InterfaceTypeAttribute()>]
type IVsProjectFlavorUpgradeViaFactory =  interface end
public interface IVsProjectFlavorUpgradeViaFactory

The IVsProjectFlavorUpgradeViaFactory type exposes the following members.

Methods

  Name Description
Public method OnUpgradeProjectFlavorCancelled Called if the project flavor upgrade is cancelled.
Public method UpgradeProjectFlavor Upgrades a flavored project.
Public method UpgradeProjectFlavor_CheckOnly Checks if a flavored project upgrade is possible.

Top

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

Microsoft.VisualStudio.Shell.Interop Namespace