c# - 获取解决方案中的所有启动项目

标签 c# visual-studio visual-studio-2019 vsix

正如标题所示,我想查询 IVsSolution/IVsHierarchy 中设置的所有启动项目,而且我也希望在不需要 DTE 的情况下实现这一目标。因此 DTE2.Solution.SolutionBuild.StartupProjects 对我来说并不是真正合适的选择。我查阅了MSDN,但没有找到我需要的东西。我遇到了IVsSolutionManager及其get_StartupProject方法。不幸的是,它只会返回一个单个启动项目。使用 DTE 是否可以做到这一点?

最佳答案

看来,EnvDTE.Solution.SolutionBuild.StartupProjects 是执行此操作的唯一方法。我浏览了底层 VS IDE 代码库,启动项目由跟踪所有加载项目的内部 C++ 类上的内部标志表示。不幸的是,该特定类或其 m_dwStartupOpt 成员都没有直接(或间接公开)。

因此,这里最好/唯一的选择是使用 StartupProjects 属性。

真诚的,

关于c# - 获取解决方案中的所有启动项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60085770/

相关文章:

c# - 什么时候应该在 WCF 服务中使用 OperationContextScope?

c# 面板数组简化代码

c# - Moq - 模拟 LINQ When 和 FirstOrDefault

c# - 将字符串与表中的列值进行比较

visual-studio - 用户从安装中删除文件并触发 .net 应用程序的自动重新安装

c# - 通过 Visual Studio 2008 中的 Post Build Event 为多个命令添加 XCopy 命令

azure - 从 Visual Studio 发布到 Azure 虚拟机

visual-studio - 即使操作成功,PowerShell 也会在控制台中将一些 git 命令结果显示为错误

c - 在 Visual Studio 中使用 gets() 时出现问题

visual-studio - 如何在 VS 项目中禁用 clang-cl 特定警告