Share via


IVsSolution2 Interface

Definition

Provides top-level manipulation or maintenance of the solution.

public interface class IVsSolution2 : Microsoft::VisualStudio::Shell::Interop::IVsSolution
public interface class IVsSolution2 : Microsoft::VisualStudio::Shell::Interop::IVsSolution
__interface IVsSolution2 : Microsoft::VisualStudio::Shell::Interop::IVsSolution
[System.Runtime.InteropServices.Guid("95C6A090-BB9E-4BF2-B0BE-F1D04F0ECEA3")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsSolution2 : Microsoft.VisualStudio.Shell.Interop.IVsSolution
[System.Runtime.InteropServices.Guid("95C6A090-BB9E-4BF2-B0BE-F1D04F0ECEA3")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsSolution2 : Microsoft.VisualStudio.Shell.Interop.IVsSolution
[<System.Runtime.InteropServices.Guid("95C6A090-BB9E-4BF2-B0BE-F1D04F0ECEA3")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsSolution2 = interface
    interface IVsSolution
[<System.Runtime.InteropServices.Guid("95C6A090-BB9E-4BF2-B0BE-F1D04F0ECEA3")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsSolution2 = interface
    interface IVsSolution
Public Interface IVsSolution2
Implements IVsSolution
Attributes
Implements

Remarks

A project reference is a string value that is used as a unique project identifier and that is independent of which solution uses the project. The project reference is composed of the following:

  • Path

  • Project name

  • Project type

  • Project GUID

  • Project type GUID

Each __VSPROPID must return a VARIANT structure filled with the proper VT_ type. The caller may assume that the VT_ is correct; that there is no need to call VariantChangeType, or to verify the type, beyond an ASSERT to make sure there weren't header file mismatches and related problems.

This same logic applies to the caller when setting the property. The solution will assume that the caller has passed a VARIANT already converted to the proper VT_ type.

Methods

AddVirtualProject(IVsHierarchy, UInt32)

Adds a type of virtual project that is not created by clicking OpenProject on the New menu to open the solution.

AddVirtualProjectEx(IVsHierarchy, UInt32, Guid)

Assigns the original GUID to the project when it is recreated the next time the solution is opened.

AdviseSolutionEvents(IVsSolutionEvents, UInt32)

Establishes client notification of solution events.

CanCreateNewProjectAtLocation(Int32, String, Int32)

Determines whether a new project can be created at a given location.

CloseSolutionElement(UInt32, IVsHierarchy, UInt32)

Programmatically closes a document, a project, or the entire solution.

CreateNewProjectViaDlg(String, String, UInt32)

Controls options for the Create New Project dialog box.

CreateProject(Guid, String, String, String, UInt32, Guid, IntPtr)

Creates or opens a project.

CreateSolution(String, String, UInt32)

Creates a new solution.

GenerateNextDefaultProjectName(String, String, String)

Generates the next default project name given a specific path.

GenerateUniqueProjectName(String, String)

Generates a unique project name, given a root project name.

GetGuidOfProject(IVsHierarchy, Guid)

Returns the unique identifier for a project in the solution.

GetItemInfoOfProjref(String, Int32, Object)

Obtains the required property for the specified project item reference.

GetItemOfProjref(String, IVsHierarchy, UInt32, String, VSUPDATEPROJREFREASON[])

Returns a hierarchy and hierarchy item pair for the specified project reference string.

GetProjectEnum(UInt32, Guid, IEnumHierarchies)

Returns an enumerator for all the projects in the solution.

GetProjectFactory(UInt32, Guid, String, IVsProjectFactory)

Returns a project factory.

GetProjectFactory(UInt32, Guid[], String, IVsProjectFactory)

Returns a project factory.

(Inherited from IVsSolution)
GetProjectFilesInSolution(UInt32, UInt32, String[], UInt32)

Compiles a list of the specified projects in the solution.

GetProjectInfoOfProjref(String, Int32, Object)

Obtains the required property for the specified project reference.

GetProjectOfGuid(Guid, IVsHierarchy)

Returns the project in the solution, given a unique identifier.

GetProjectOfProjref(String, IVsHierarchy, String, VSUPDATEPROJREFREASON[])

Returns a hierarchy for the specified project reference string.

GetProjectOfUniqueName(String, IVsHierarchy)

Returns the project in the solution, given a unique name.

GetProjectTypeGuid(UInt32, String, Guid)

Returns the project type, given a GUID.

GetProjrefOfItem(IVsHierarchy, UInt32, String)

Returns a project reference string for the specified hierarchy and hierarchy item pair.

GetProjrefOfProject(IVsHierarchy, String)

Returns a project reference string for the specified hierarchy.

GetProperty(Int32, Object)

Returns the specified property of the solution.

GetSolutionInfo(String, String, String)

Returns the required solution file information.

GetUniqueNameOfProject(IVsHierarchy, String)

Returns the unique name, given a project in the solution.

GetVirtualProjectFlags(IVsHierarchy, UInt32)

Determines how the virtual project was added to the Solution Explorer.

OnAfterRenameProject(IVsProject, String, String, UInt32)

Completes the renaming of a project.

OpenSolutionFile(UInt32, String)

Opens a solution file of the type .sln, .dsw, or .vbg.

OpenSolutionViaDlg(String, Int32)

Controls options for the Open Solution dialog box.

QueryEditSolutionFile(UInt32)

Determines whether the solution file can be changed.

QueryRenameProject(IVsProject, String, String, UInt32, Int32)

Determines whether the project can be renamed.

RemoveVirtualProject(IVsHierarchy, UInt32)

Removes a virtual project from the solution.

SaveSolutionElement(UInt32, IVsHierarchy, UInt32)

Programmatically saves a document, a project, or the entire solution.

SetProperty(Int32, Object)

Generically sets properties of the solution.

UnadviseSolutionEvents(UInt32)

Disables a client from receiving notifications of solution events.

UpdateProjectFileLocation(IVsHierarchy)

Notifies a solution of a project file location change.

Applies to