项目配置对象

项目配置对象管理 UI 的配置信息的显示。

Visual Studio 项目配置

项目配置属性页

项目配置提供程序管理项目配置。 环境和其他包,若要访问和检索有关项目配置的信息,请调用附加到 Project Configuration Provider 对象的接口。

注意

无法以编程方式创建或编辑解决方案配置文件。 必须使用 DTE.SolutionBuilder。 有关详细信息,请参阅 解决方案配置

若要发布要在配置 UI 中使用的显示名称,项目应实现 get_DisplayName。 环境调用 GetCfgs,它返回一个指针列表 IVsCfg ,可用于获取要列在环境的 UI 中的配置和平台信息的显示名称。 活动配置和平台由活动解决方案配置中存储的项目配置确定。 该方法 FindActiveProjectCfg 可用于检索活动项目配置。

IVsProjectCfgProvider可以使用该对象在对象IVsCfgProviderEventsHelperIVsCfgProvider2实现该对象,以便基于规范项目配置名称检索IVsProjectCfg2对象。

提供环境和其他项目访问项目配置的另一种方法是,项目提供方法的 IVsCfgProvider2::GetCfgs 实现以返回一个或多个配置对象。 这些项目还可以实现 IVsProjectCfg2IVsProjectCfg 中继承和继承 IVsCfg的项目,以提供特定于配置的信息。 IVsCfgProvider2 支持添加、删除和重命名项目配置的平台和功能。

注意

由于 Visual Studio 不再局限于两种配置类型,因此处理配置的代码不应使用有关配置数的假设来编写,也不应使用假定只有一个配置的项目必然是调试或零售。 这样就使用 get_IsReleaseOnlyget_IsDebugOnly 过时了。

调用 QueryInterfaceIVsGetCfgProvider::GetCfgProvider 检索 IVsCfgProvider2返回的对象。 如果IVsGetCfgProvider通过调用QueryInterfaceIVsProject3项目对象找不到,可以通过调用QueryInterface返回对象的层次结构根浏览器对象或通过指向返回IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider)对象的配置提供程序的指针来访问配置提供程序对象。

IVsProjectCfg2 主要提供对生成、调试和部署管理对象的访问,并允许项目自由地对输出进行分组。 IVsProjectCfg IVsProjectCfg2方法可用于管理IVsBuildableProjectCfg生成过程,以及IVsOutputGroup配置输出组的指针。

项目必须为支持的每个配置返回相同数量的组,即使组中包含的输出数可能因配置而异。 组还必须具有相同的标识符信息(规范名称、显示名称和组信息),从配置到项目中的配置。 有关详细信息,请参阅 Project Configuration for Output

若要启用调试,配置应实现 IVsDebuggableProjectCfgIVsDebuggableProjectCfg 是项目实现的一个可选接口,允许调试器启动配置,并在配置对象 IVsCfg 上使用和 IVsProjectCfg实现。 当用户选择通过按 F5 启动调试器时,环境会调用它。

ISpecifyPropertyPagesIDispatch 属性页一起使用,以检索和显示与配置相关的信息给用户。 有关详细信息,请参阅 属性页

另请参阅