Partager via


IVsProjectFlavorUpgradeViaFactory Interface

Definition

Upgrades flavored projects using a project factory.

public interface class IVsProjectFlavorUpgradeViaFactory
public interface class IVsProjectFlavorUpgradeViaFactory
__interface IVsProjectFlavorUpgradeViaFactory
[System.Runtime.InteropServices.Guid("D717B926-12EE-4285-9123-522ED54C4859")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsProjectFlavorUpgradeViaFactory
[System.Runtime.InteropServices.Guid("D717B926-12EE-4285-9123-522ED54C4859")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsProjectFlavorUpgradeViaFactory
[<System.Runtime.InteropServices.Guid("D717B926-12EE-4285-9123-522ED54C4859")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsProjectFlavorUpgradeViaFactory = interface
[<System.Runtime.InteropServices.Guid("D717B926-12EE-4285-9123-522ED54C4859")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsProjectFlavorUpgradeViaFactory = interface
Public Interface IVsProjectFlavorUpgradeViaFactory
Attributes

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.

Methods

OnUpgradeProjectFlavorCancelled(String)

Called if the project flavor upgrade is cancelled.

UpgradeProjectFlavor_CheckOnly(String, IVsUpgradeBuildPropertyStorage, String, String, IVsUpgradeLogger, Int32, Guid)

Checks if a flavored project upgrade is possible.

UpgradeProjectFlavor(String, IVsUpgradeBuildPropertyStorage, String, String, IVsUpgradeLogger, Int32, String[], String[], Guid)

Upgrades a flavored project.

Applies to