首页 > 解决方案 > 如何在扩展中调用 IVsBuildableProjectCfg.StartBuild

问题描述

我在 Visual Studio 扩展中调用了 IVsBuildableProjectCfg.StartBuild 来构建项目。

var ret= cfg.StartBuild(pane, VSConstants.VS_BUILDABLEPROJECTCFGOPTS_REBUILD);

但它并没有开始构建。相反,它只是产生了异常。

System.InvalidOperationException: 'The operation cannot be completed because BeginBuild has not yet been called.'

怎样才能正确调用?

背景

最初我调用了 IVsSolutionBuildManager2.StartUpdateProjectConfigurations,但是当项目被配置为不在解决方案的 Configuration Manager 中构建时,StartUpdateProjectConfigurations 不会构建它们。

当然,这是理想的行为,因为 IVsSolutionBuildManager 基于包括 Configuration Manager 在内的解决方案配置。

但即使在这种情况下,我也想构建特定的项目。实际上,一些扩展用户想要这个,我也认为它很有用。 https://github.com/Wakusei/BuildStartProject/issues/2

标签: visual-studiovisual-studio-extensions

解决方案


推荐阅读