This documentation is archived and is not being maintained.

IVsSolution.GetProjectFilesInSolution Method

Compiles a list of the specified projects in the solution.

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

int GetProjectFilesInSolution (
	[InAttribute] uint grfGetOpts,
	[InAttribute] uint cProjects,
	[OutAttribute] string[] rgbstrProjectNames,
	out uint pcProjectsFetched
int GetProjectFilesInSolution (
	/** @attribute InAttribute() */ UInt32 grfGetOpts, 
	/** @attribute InAttribute() */ UInt32 cProjects, 
	/** @attribute OutAttribute() */ String[] rgbstrProjectNames, 
	/** @attribute OutAttribute() */ /** @ref */ UInt32 pcProjectsFetched
JScript does not support passing value-type arguments by reference.



[in] Options for returning the array of solution projects. For a list of grfGetOpts values, see __VSGETPROJFILESFLAGS.


[in] Number of projects in the solution, based on the option specified for the grfGetOpts parameter.


[out] Pointer to array of projects within the solution.


[out] Pointer to the number of project names placed in the array.

Return Value

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

COM Signature

From vsshell.idl:

HRESULT IVsSolution::GetProjectFilesInSolution(
   [in] ULONG cProjects,
   [out, size_is(cProjects), length_is(*pcProjectsFetched)] BSTR *rgbstrProjectNames,
   [out] ULONG *pcProjectsFetched

This method obtains the full paths of the projects in the solution and is useful for pre-load knowledge about projects. The project paths are returned in an array of BSTRs—the number of BSTRS in the array is returned in the pcProjectsFetched parameter. Pass in cProjects==0 and rgbstrProjectNames==a null reference (Nothing in Visual Basic) to obtain the number of BSTRS required in the pcProjectsFetched parameter. Use this information to dimension an array of the appropriate size.