Visual Studio 插件自动编译解决方案的项目并获取编译文件的路径

本文介绍了如何编写Visual Studio插件以实现解决方案的自动编译,并利用IVsSolutionBuildManager2和IVsHierarchy接口进行项目编译。同时,文章提到了DTE对象在插件中的重要角色,它允许对VS IDE进行控制并获取编译文件路径。虽然编译路径的详细逻辑有待深入理解,但提供的代码片段有望帮助遇到同样问题的开发者。
摘要由CSDN通过智能技术生成

编写插件实现VS解决方案的自动编译

编写插件自动编译文件,点击按钮后调用下面的函数

  1. 接口一:IVsSolutionBuildManager2,源自程序集Microsoft.VisualStudio.Shell.Interop(位于 Microsoft.VisualStudio.Shell.Interop.dll)启动启动项目以指定为调试项目的解决方案
  2. 接口二:IVsHierarchy 与上一个接口的程序集相同,为实现项目层次结构的 Vspackage 提供层次结构管理。(可以理解为实现创建项目层次结构中的Vspackage)
    Vspackage是一个软件模块,通过提供UI元素,服务,项目,编辑或设计来扩展VS IDE的软件模块。

关于DTE,这个很重要
DTE的对象,这个对象相当于于Visual Studio 的实例,可以通过操作该实例对编辑器中的内容进行控制,通过在 GetService 方法中调用 Initialize 获取 DTE 自动化对象。
DTE2 dte = (DTE2)GetService(typeof(DTE));

完整的编译方法如下:

 public Project BuildStart()
 {
   
            var StartBuid = (IVsSolutionBuildManager2)Package.GetServiceAsync(typeof(SVsSolutionBuildManager)).Result;
            IVsHierarchy startupProject;
            StartBuid.get_StartupProject(out startupProject)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值