,因为它是构造为基本项目的聚合函数,项目子类型有大量功能会影响项目的行为。 本节概述了可以将项目子类型引发或修改的某些功能。
摘要捕获功能
下表总结了许多方法总结了基本项目使项目子类型重写。
摘要重写的方法 |
项目子类型 |
---|---|
从 IVsHierarchy: |
启用项的子类型
|
从 IVsProject: |
使项目子类型控制上下文服务提供给设计器和编辑器。 |
启用项的子类型
|
|
使项目子类型筛选的用户在 添加新项目 对话框参见。 |
|
启用项的子类型
|
项目子类型使用的属性
环境和 foundation 项目系统在下表中可以使用 __VSSPROPID 和详细的 __VSSPROPID2 枚举的属性使项目子类型控件项目系统的各种功能。
VSHPROPID 属性 |
项目子类型 |
---|---|
AddItemTemplatesGuid |
允许项的子窗体控件 添加项目 对话框的内容。 项目子类型可以提供模板目录的新规范,添加新的类型项目中,删除现有项并重新组织项目的子集在基项目的 添加项目 对话框中。 |
PropertyPagesCLSIDList |
向项目子类型添加或移除独立于配置的属性页。 |
CfgPropertyPagesCLSIDList |
向项目子类型添加或移除配置相关属性页。 |
ExtObjectCATID |
向项目子类型对项目或项目项对象提供自动化扩展程序通过实现扩展程序 CATID。 例如,项目子类型可以提供自定义 Project.Extender("<subtype>") 对象。 |
BrowseObjectCATID |
向项目子类型为 Browse 对象提供自动化扩展程序通过实现扩展程序 CATID。 例如,项目子类型可以添加额外的属性设置为 Properties 集合。 |
CfgBrowseObjectCATID |
向项目子类型为项目配置提供自动化扩展程序浏览对象。 例如,项目子类型可以添加额外的属性设置为 Properties 集合。 |
CfgExtObjectCATID |
向项目子类型为配置对象提供自动化扩展程序。 |
DefaultPlatformName |
向项目子类型确定平台名称项目的配置对象。 |
该基项目提供上述属性的默认实现。 该基项目通过调用 IVsHierarchy 的 QueryInterface 获取这些在最外层的项目子类型,从而允许项子类型重写属性实现。