如何检查/检测在我的 VSPackage 下运行的 Visual Studio 版本?
我无法从注册表中获取,因为计算机可能安装了多个版本,所以我猜有一个 API 可以获取它。
有人知道如何使用 C# 从托管的 Visual Studio 包中获取它吗?
最佳答案
您可以尝试获取版本 通过自动化 DTE 对象 .在强积金中,您可以通过以下方式获得:
EnvDTE.DTE dte = (EnvDTE.DTE)Package.GetGlobalService(typeof(EnvDTE.DTE));
还有一些其他相关的东西来检索 DTE 对象 - 通过 Project.DTE ,另请阅读 this thread如果 DTE 为空。
然后您可以使用 DTE.Version property 获取版本.
在 Carlos Quintero (VS addin ninja) 网站 HOWTO: Detect installed Visual Studio editions, packages or service packs 上也可以找到有用的信息。
关于.net - 检测 VSPackage 中的 Visual Studio 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082436/