You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Visual Studio扩展代码中获取扩展版本并在UI展示

在Visual Studio扩展中获取并显示版本信息

你可以通过以下几种方式获取Visual Studio扩展的版本信息,将其显示在UI界面中:

方法1:读取扩展程序集版本

直接获取当前扩展程序集的版本,这是最简便的方式:

using System.Reflection;

// 获取当前执行程序集的版本
var assembly = Assembly.GetExecutingAssembly();
var version = assembly.GetName().Version;
// 格式化版本字符串,示例:"v1.0.2.3"
var displayVersion = $"v{version.Major}.{version.Minor}.{version.Build}.{version.Revision}";

方法2:通过Package类获取版本

如果你的扩展基于Package或AsyncPackage,可以直接使用基类的Version属性:

using Microsoft.VisualStudio.Shell;

// 在Package子类中直接访问
var packageVersion = this.Version;
var displayText = $"版本:{packageVersion.Major}.{packageVersion.Minor}.{packageVersion.Build}";

方法3:通过IVsExtensionManager获取已安装扩展版本

若需要获取扩展在VS中已安装的正式版本信息(包含vsixmanifest中定义的版本),可以使用IVsExtensionManager服务:

using Microsoft.VisualStudio.ExtensionManager;
using Microsoft.VisualStudio.Shell;

// 获取扩展管理器服务
var extensionManager = await GetServiceAsync(typeof(SVsExtensionManager)) as IVsExtensionManager;
if (extensionManager != null)
{
    // 替换为你的扩展唯一ID(可在vsixmanifest的"标识"标签中找到)
    var extensionId = "YourExtension.Id";
    var installedExtension = extensionManager.GetInstalledExtension(extensionId);
    if (installedExtension != null)
    {
        var extensionVersion = installedExtension.Header.Version;
        var displayVersion = $"扩展版本:{extensionVersion}";
    }
}

显示到UI界面

将获取到的版本字符串赋值给UI控件即可,比如在工具窗口的加载事件中设置Label文本:

// 假设你的ToolWindow中有一个名为lblVersion的Label控件
lblVersion.Text = displayVersion;

内容的提问来源于stack exchange,提问作者alternator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:18:25