我是 Visual Studio 可扩展性框架的新手,可以使用 VSPackage 扩展。我想在 MyToolWindow 类中调用的用户控件中获取 DTE 对象。
我尝试了以下所有可能性:
1.EnvDTE80.DTE2 dte2;
dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.10.0");
string solutionPath=dte2.Solution.FullName;
上面的试验只给出了打开的视觉工作室的第一个实例的解决方案路径。对于 EX:如果打开 Math1.sln 和 Math2.sln,则只有 Math1.sln 路径分配给 solutionPath。
- 从MSDN链接中,无法在 button1.click 中识别“this.GetService”(我在这里遗漏了什么)
一旦获得 DTE 对象,我就可以很容易地获得当前实例的解决方案名称。
我必须能够在单击用户控件内的按钮内获得适当的 EnvDTE80.DTE 对象。此用户控件在 MyToolWindow.cs 中调用
对此的任何帮助将不胜感激。