Assembly: Microsoft.VisualStudio.Shell.Interop (in microsoft.visualstudio.shell.interop.dll)
[InterfaceTypeAttribute(1)] [GuidAttribute("F1DE2D75-3B95-4510-9B2B-565BC0E38877")] public interface IVsSolutionEvents3 : IVsSolutionEvents2
/** @attribute InterfaceTypeAttribute(1) */ /** @attribute GuidAttribute("F1DE2D75-3B95-4510-9B2B-565BC0E38877") */ public interface IVsSolutionEvents3 extends IVsSolutionEvents2
This interface is implemented to track the opening, closing, loading, and unloading of a solution or project of a solution. There are fundamental differences between opening and closing and loading and unloading solutions or projects. For example, when a project is added to the solution, it is both "open" and "loaded" and it is available for all users to access. However, a user can "unload" the project, which then removes it from the solution only for that user. Another user can open the same solution and have that project "loaded." In other words, loading and unloading are user-specific and unloading a project does not remove it from the solution.
If the project cited in this example is "closed" by a user, then that project is effectively removed from the solution altogether, rendering it unavailable to subsequent users of the solution. This same example can be applied at the solution level.
IVsSolutionEvents3 contains methods that are implemented by parent projects containing children (nested) projects. It is implemented in conjunction with.
You can also queryNotes to Implementers VSPackages implement this interface to receive notification of events affecting solution status. for , Then call to get a pointer to IVsSolutionEvents3 if you have a project that needs to listen to solution events. See illustrations of the implementation and/or calling of this interface in the samples and .