【问题标题】:How do i get the solution name when running from a extension?从扩展程序运行时如何获取解决方案名称?
【发布时间】:2010-12-12 20:56:55
【问题描述】:

我正在使用托管可扩展性框架 (MEF) 在 C# 中编写扩展程序。
如何获取当前打开的解决方案名称或项目名称?

我一直在深入研究的类是 IWpfTextView 但我没有找到它。

【问题讨论】:

    标签: visual-studio mef


    【解决方案1】:

    如果你的程序集中有一个 Package 类,你可以这样做:

    DTE2 = Package.GetGlobalService(typeof(SDTE)) as DTE2; 字符串全名 = dte.Solution.FullName;

    否则,您可以通过以下方式获取 DTE: DTE dte = System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE") 作为 DTE; 字符串全名 = dte.Solution.FullName;

    而且我看到人们谈论获取 DTE 的更“MEF”导向的方式,但我还没有尝试过..

    获得 DTE 对象后,您就可以使用解决方案遍历项目。

    参考:VSIX: Getting DTE object 参考:http://msdn.microsoft.com/en-us/library/envdte.solution.aspx

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多