运用EnvDTE获取Visual Studio实例并动态修改解决方案和项目

本文分享了如何运用EnvDTE库在Visual Studio环境中获取实例,并在多实例情况下通过解决方案名称定位当前操作的实例。同时,还介绍了如何找到特定项目以及向项目中添加文件或引用的方法。
摘要由CSDN通过智能技术生成

    最近在做Visual Studio项目和项模板需要用到一些EnvDTE的技术,把相关代码拿出来和大家分享一下


首先是获取Visual Studio实例

在仅打开了一个实例的情况下,用GetActiveInstance即可,

在打开了多个实例的情况下,可以用另外一个函数获得所有实例


这里有一个问题,如果打开了多个Visual Studio,如何知道当前正在操作的Visual Studio实例?

答案令人失望,没有什么好办法。 如果有人知道可以分享一下。


有一个变通的办法,通过打开的解决方案的名称来区分,即通过Solution Name来找到某一个VS的实例。当然,前提是要知道这个Solution的名字,于是又陷入了死循环。


然后就是找到一个特定的项目(需要传入项目特征字符或者完整名称)

然后把文件或者引用加到项目中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using EnvDTE;
using EnvDTE80;
using VSLangProj;

namespace Template.AddNewItemWizard
{
    class EnvDTEHelper
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值