This documentation is archived and is not being maintained.

IVsProjectFactory.CreateProject Method

Creates a new project.

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

int CreateProject(
	string pszFilename,
	string pszLocation,
	string pszName,
	uint grfCreateFlags,
	ref Guid iidProject,
	out IntPtr ppvProject,
	out int pfCanceled


Type: System.String

[in] File name of the project that will be created.

Type: System.String

[in] Location where the project will be created.

Type: System.String

[in] If applicable, the name of the template to use when cloning a new project.

Type: System.UInt32

[in] Set of flag values taken from the __VSCREATEPROJFLAGS enumeration.

Type: System.Guid%

[in] Identifier of the interface that the caller wants returned.

Type: System.IntPtr%

[out, iid_is(iidProject)] Pointer to the interface specified by iidProject.

Type: System.Int32%

[out] Returns true if the user presses the Cancel button to abort the creation of this project. Otherwise, it is false.

Return Value

Type: System.Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.

COM Signature

From vsshell.idl:

HRESULT IVsProjectFactory::CreateProject(
   [in] LPCOLESTR pszFilename,
   [in] LPCOLESTR pszLocation,
   [in] LPCOLESTR pszName,
   [in] VSCREATEPROJFLAGS grfCreateFlags,
   [in] REFIID iidProject,
   [out, iid_is(iidProject)] void **ppvProject,
   [out] BOOL *pfCanceled

CreateProject is called by the shell when a user tries to create a new project.

Create a new project by cloning an existing template project (which could be empty). See Managed Visual Studio Project and Basic Project samples for examples. The environment uses the file extension to determine the VSPackage on which to call this method.