项目配置对象
项目配置对象管理 UI 的配置信息的显示。
项目配置属性页
项目配置提供程序管理项目配置。 环境和其他包,若要访问和检索有关项目配置的信息,请调用附加到 Project Configuration Provider 对象的接口。
注意
无法以编程方式创建或编辑解决方案配置文件。 必须使用 DTE.SolutionBuilder
。 有关详细信息,请参阅 解决方案配置 。
若要发布要在配置 UI 中使用的显示名称,项目应实现 get_DisplayName。 环境调用 GetCfgs,它返回一个指针列表 IVsCfg
,可用于获取要列在环境的 UI 中的配置和平台信息的显示名称。 活动配置和平台由活动解决方案配置中存储的项目配置确定。 该方法 FindActiveProjectCfg 可用于检索活动项目配置。
IVsProjectCfgProvider可以使用该对象在对象IVsCfgProviderEventsHelper上IVsCfgProvider2实现该对象,以便基于规范项目配置名称检索IVsProjectCfg2
对象。
提供环境和其他项目访问项目配置的另一种方法是,项目提供方法的 IVsCfgProvider2::GetCfgs
实现以返回一个或多个配置对象。 这些项目还可以实现 IVsProjectCfg2从 IVsProjectCfg
中继承和继承 IVsCfg
的项目,以提供特定于配置的信息。 IVsCfgProvider2 支持添加、删除和重命名项目配置的平台和功能。
注意
由于 Visual Studio 不再局限于两种配置类型,因此处理配置的代码不应使用有关配置数的假设来编写,也不应使用假定只有一个配置的项目必然是调试或零售。 这样就使用 get_IsReleaseOnly 和 get_IsDebugOnly 过时了。
调用 QueryInterface
从 IVsGetCfgProvider::GetCfgProvider
检索 IVsCfgProvider2
返回的对象。 如果IVsGetCfgProvider
通过调用QueryInterface
IVsProject3
项目对象找不到,可以通过调用QueryInterface
返回对象的层次结构根浏览器对象或通过指向返回IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)
IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider)
对象的配置提供程序的指针来访问配置提供程序对象。
IVsProjectCfg2
主要提供对生成、调试和部署管理对象的访问,并允许项目自由地对输出进行分组。 IVsProjectCfg
IVsProjectCfg2
方法可用于管理IVsBuildableProjectCfg生成过程,以及IVsOutputGroup配置输出组的指针。
项目必须为支持的每个配置返回相同数量的组,即使组中包含的输出数可能因配置而异。 组还必须具有相同的标识符信息(规范名称、显示名称和组信息),从配置到项目中的配置。 有关详细信息,请参阅 Project Configuration for Output。
若要启用调试,配置应实现 IVsDebuggableProjectCfg。 IVsDebuggableProjectCfg
是项目实现的一个可选接口,允许调试器启动配置,并在配置对象 IVsCfg
上使用和 IVsProjectCfg
实现。 当用户选择通过按 F5 启动调试器时,环境会调用它。
ISpecifyPropertyPages
与 IDispatch
属性页一起使用,以检索和显示与配置相关的信息给用户。 有关详细信息,请参阅 属性页。