FlavoredProjectFactoryBase Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Base class for flavored project factories.
public ref class FlavoredProjectFactoryBase abstract : Microsoft::VisualStudio::Shell::Flavor::IVsAggregatableProjectFactoryCorrected, Microsoft::VisualStudio::Shell::Interop::IVsProjectFactory
[Windows::Foundation::Metadata::WebHostHidden]
class FlavoredProjectFactoryBase abstract : Microsoft::VisualStudio::Shell::Flavor::IVsAggregatableProjectFactoryCorrected, Microsoft::VisualStudio::Shell::Interop::IVsProjectFactory
public abstract class FlavoredProjectFactoryBase : Microsoft.VisualStudio.Shell.Flavor.IVsAggregatableProjectFactoryCorrected, Microsoft.VisualStudio.Shell.Interop.IVsProjectFactory
type FlavoredProjectFactoryBase = class
interface IVsAggregatableProjectFactoryCorrected
interface IVsProjectFactory
Public MustInherit Class FlavoredProjectFactoryBase
Implements IVsAggregatableProjectFactoryCorrected, IVsProjectFactory
- Inheritance
-
FlavoredProjectFactoryBase
- Implements
Examples
namespace Microsoft.Samples.VisualStudio.IronPythonProject.WPFProviders
{
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
[Guid("FEBF49B8-D18C-4745-ADE0-35BF632E0533")]
public class PythonWPFFlavor : FlavoredProjectBase
{
public PythonWPFFlavor(IServiceProvider site)
{
this.serviceProvider = site;
}
protected override Guid GetGuidProperty(uint itemId, int propId)
{
if (propId ==
(int)__VSHPROPID2.VSHPROPID_AddItemTemplatesGuid)
{
return typeof(PythonWPFProjectFactory).GUID;
}
return base.GetGuidProperty(itemId, propId);
}
protected override int GetProperty(uint itemId, int propId, out object property)
{
return base.GetProperty(itemId, propId, out property);
}
}
[Guid(PythonWPFProjectFactory.PythonWPFProjectFactoryGuid)]
public class PythonWPFProjectFactory : FlavoredProjectFactoryBase
{
public const string PythonWPFProjectFactoryGuid = "229B3E77-97E9-4f6d-9151-E6D103EA4D4A";
private IServiceProvider site;
public PythonWPFProjectFactory(IServiceProvider site) : base()
{
this.site = site;
}
protected override object PreCreateForOuter(IntPtr outerProjectIUnknown)
{
return new PythonWPFFlavor(site);
}
}
}
Remarks
An implementation of a flavored project factory is defined by FlavoredProjectFactory. Override the PreCreateForOuter method to return a new FlavoredProjectBase derived class. The derived class GetGuidProperty method can redirect the templates search to find new project templates for this flavor.
Constructors
FlavoredProjectFactoryBase() |
Initializes a new instance of FlavoredProjectFactoryBase. |
Properties
serviceProvider |
Gets the project's service provider. |
Methods
CanCreateProject(String, UInt32) |
Determines whether or not the project can be created with the supplied parameters. |
CreateProject(String, String, String, UInt32, Guid, IntPtr, Int32) |
Creates a project. |
Dispose(Boolean) |
Disposes the service provider. |
Initialize() |
Initializes the project factory. |
PreCreateForOuter(IntPtr) |
Creates an instance of the project. |
ProjectTypeGuids(String) |
Gets the set of project type GUIDs from the project file. |