IVsParentProject 接口
允许嵌套在与解决方案层次结构中的生成的适当序列将打开和关闭的项由该环境。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)
语法
声明
<InterfaceTypeAttribute()> _
<GuidAttribute("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")> _
Public Interface IVsParentProject
[InterfaceTypeAttribute()]
[GuidAttribute("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")]
public interface IVsParentProject
IVsParentProject 类型公开以下成员。
方法
名称 | 说明 | |
---|---|---|
CloseChildren | 实现关闭项目嵌套在父项下。 | |
OpenChildren | 实现打开项目嵌套在父项下。 |
页首
备注
IVsParentProject 包含两个方法、 OpenChildren 和 CloseChildren。 此接口的目的是允许嵌套的项目中打开和关闭与解决方案层次结构中的生成的适当序列由环境。 使用嵌套的项目相关的信息在每个父项目的项目文件包含。
方法的实现应激发对应的 IVsSolutionEvents3 事件 - OnBeforeOpeningChildren 和 OnAfterOpeningChildren 在 OpenChildren 方法和 OnBeforeClosingChildren 和 OnAfterClosingChildren 在 CloseChildren 方法。
解决方法未完成订单下面。
对解决方案中的每个顶级项:
环境通过调用项目的 CreateProject创建项目
该环境将项目添加到解决方案资源管理器中。
查看环境的检查该项是否是父项。查询 IVsParentProject的项目层次结构。
如果项目支持 IVsParentProject,该环境的项的 OpenChildren 方法。 在此方法中该项目激发 OnBeforeOpeningChildren,以及每个子 (嵌套) 项:
父项调用 AddVirtualProjectEx。
方法有子项的 OnAfterOpenProject 。
该环境检查子项是否也是父项。查询 IvsParentProject的子项的层次结构。
如果子项也是父项:
该环境调用其 OpenChildren。
该项目激发 OnAfterOpeningChildren。
解决方案激发 OnAfterOpenProject。
(如果解决方案成功加载),解决方案激发 OnAfterOpenSolution 。
解决方案关闭订单是:
对解决方案中的每个顶级项该环境的项的 QueryClose 方法。 在此方法中,该项对所有的 QueryClose 其子项。
对解决方案中的每个顶级项,环境激发该项目的 OnBeforeCloseProject 。
对解决方案中的每个顶级项,环境查看该项是否是父项。查询 IVsParentProject的项目层次结构
对解决方案中的每个顶级项,因此,如果该项支持 IVsParentProject,环境调用 CloseChildren。 在此方法中该项目激发 OnBeforeClosingChildren,以及每个子 (嵌套) 项:
父项调用 RemoveVirtualProject。
方法有子项的 OnBeforeCloseProject
该环境检查子项是否也是父项。查询 IVsParentProject的子项的层次结构
如果子项也是父项:
该环境调用其 CloseChildren。
该环境调用子项的 Close。
该项目激发 OnAfterClosingChildren。
该环境调用顶级项的 Close。
对实现者的说明
实现由父项目 (嵌套其他项目的项目到控件嵌套 (子) 项目开始和结束。