尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【译】利用 GitHub Actions 实现 Visual Studio 扩展构建自动化
如果您正在开发和维护 Visual Studio 扩展程序大概率都会搭建一套构建与发布工作流 —— 无论是手动操作、脚本化的还是长期逐步拼凑而成的流程。本文面向扩展插件开发者如果您希望借助 GitHub Actions 实现 VSIX 文件的构建、版本管理与发布且流程简单、可重复执行本篇内容将为您提供相关方案。我将演示如何在我自己的各类扩展程序中实现这一操作。我长期都在使用这套方法久而久之我把重复度最高的代码片段整理成了少量可复用的小型 action这样就不用在每个代码仓库里重复编写相同逻辑了。分别为- vsix-version-stamp —— 同步统一版本号- publish-vsixgallery —— 发布持续集成构建版本用于测试- publish-marketplace —— 发布至 Visual Studio 应用市场您可以单独使用它们也可以搭配使用但我通常会把三者全部用上。如果您想查看该内容在真实代码仓库中的配置实现可以参考启 Start Screen 项目。一套真实可行的工作流程下面是一套简易配置方案和我目前所有扩展程序在用的配置大体一致name: Build on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-latest env: Configuration: Release VsixManifestPath: src\source.extension.vsixmanifest VsixSourcePath: src\source.extension.cs steps: - uses: actions/checkoutv6 - name: Setup MSBuild uses: microsoft/setup-msbuildv3 - name: Restore run: msbuild /t:Restore - name: Version stamp uses: madskristensen/vsix-version-stampv2 with: manifest-file: ${{ env.VsixManifestPath }} vsix-token-source-file: ${{ env.VsixSourcePath }} - name: Build run: msbuild /p:Configuration$(Configuration) - name: Publish to VSIX Gallery uses: madskristensen/publish-vsixgalleryv1 with: vsix-file: **/*.vsix - name: Publish to Marketplace uses: madskristensen/publish-marketplacev2 with: extension-file: **/*.vsix publish-manifest-file: vs-publish.json personal-access-code: ${{ secrets.VS_MARKETPLACE_TOKEN }}这本质上就是完整流程版本管理、构建、打包与发布。您可以在此处调整发布触发时机例如仅在发布时执行但核心配置基本保持不变。保持版本同步版本控制是很容易出错的一类工作。vsix-version-stamp action 会在构建过程中自动更新版本号无需人工手动处理。它搭配 VSIX Synchronizer extension 插件使用效果尤为出色该插件可基于您的 .vsixmanifest 文件生成对应的 .cs 文件。由此可得- 唯一可信数据源- 代码内置对应版本- 发布前禁止手动修改这完全是非必需的但一旦您开始使用它就很容易离不开。发布至 Visual Studio Marketplace一旦您制作好 VSIX 文件将其发布到应用市场的操作就十分简单。您只需要一个秘诀- VS_MARKETPLACE_TOKEN- name: Publish to Marketplace uses: madskristensen/publish-marketplacev2 with: extension-file: **/*.vsix publish-manifest-file: vs-publish.json personal-access-code: ${{ secrets.VS_MARKETPLACE_TOKEN }}就这样。VSIX 文件包含扩展程序元数据发布清单则补充剩余相关信息。发布至 VSIX Gallery 用于持续集成构建与测试publish-vsixgallery action 有着不同的用途。它用于快速分发安装包。我主要会在将修复方案提交至应用商店前让他人先行测试该修复、验证相关改动时使用它。- name: Publish to VSIX Gallery uses: madskristensen/publish-vsixgalleryv1 with: vsix-file: **/*.vsix这正是 VSIX Gallery 的优势所在 —— 分发流程高效、占用资源少无需完整版本发布带来的额外开销。也可使用您自己的 Gallery。VSIX Gallery 为开源项目因此如有需要您可以搭建专属的独立部署实例。GitHub Action 支持可配置的 gallery-url因此它不会绑定至某个特定的托管 Gallery中。- name: Publish to VSIX Gallery uses: madskristensen/publish-vsixgalleryv1 with: vsix-file: **/*.vsix gallery-url: https://your-gallery.example.com这使得无论您是面向公共 Gallery 发布内容还是使用自建托管服务都能采用同一套工作流程。混搭您无需全部使用这三项操作。一些常见配置方案Minimal- Build Marketplace publishCI-focused- Build VSIX Gallery publishFull pipeline- Version stamping build gallery Marketplace选用适配您工作流程的方案即可。该如何选择发布渠道- VSIX Gallery 用于测试、分发构建包以及快速验证- Visual Studio Marketplace用于正式版本发布多数扩展建议同时使用两种渠道- 持续集成构建包上传至 VSIX Gallery- 稳定版本发布至 Visual Studio Marketplace小结这是我在所有扩展程序中统一使用的配置方案。这套方案能让流程稳定可控便于共享构建文件还能省去发布流程里绝大多数重复操作。您无需全盘照搬。可以先选用适配自身工作流的部分再在此基础上逐步完善。原文链接https://devblogs.microsoft.com/visualstudio/automating-your-visual-studio-extension-builds-with-github-actions/
RELATED

相关推荐

揪出幕后黑手:当Windows 10默认浏览器被“管家”锁死时的排查与解锁指南

揪出幕后黑手:当Windows 10默认浏览器被“管家”锁死时的排查与解锁指南

1. 问题现象:默认浏览器为何总是"叛变"?你有没有遇到过这种情况:明明已经在Windows设置里把默认浏览器改成了Edge或者Chrome,可每次点击链接还是顽固地弹出那个老旧的IE浏览器?我最近就遇到了这个烦心事&…

📅 2026/11/9 21:48:10
Ubuntu 20.04下从源码编译UE4并集成AirSim仿真环境的完整指南

Ubuntu 20.04下从源码编译UE4并集成AirSim仿真环境的完整指南

1. 项目概述:当UE4遇见Ubuntu,一场技术与耐心的较量如果你是一名从事无人机、自动驾驶或者机器人仿真的开发者,那么AirSim这个由微软开源的仿真平台,大概率是你绕不开的一个选择。它基于虚幻引擎4(UE4)构建…

📅 2026/11/9 21:48:09
前馈神经网络:从感知机到Transformer的基石

前馈神经网络:从感知机到Transformer的基石

1. 从感知机到前馈神经网络的进化之路1957年,心理学家弗兰克罗森布拉特发明了史上第一个单层感知机(SLP),这个只有输入层和输出层的简单结构,却点燃了人工智能的第一把火。但很快人们发现它连最基础的异或问题&#xf…

📅 2026/10/7 0:23:04
MORE NEWS

更多资讯

📰

邹城登高架设证办理别再被坑!2026河南最新政策全解析

邹城登高架设证办理别再被坑!2026河南最新政策全解析 你是不是也遇到过这种情况,网上一搜“邹城登高架设证办理”,跳出来的全是中介信息,价格参差不齐,根本不知道哪家靠谱?别急,2026河南最新政策已经明确,报考流程、办理渠道和考试内容都有了…

📰

怎么查到自己的电工证报名费多少钱

怎么查到自己的电工证报名费多少钱 你是不是正愁不知道去哪查电工证,怕被中介骗了钱还拿不到证?报名费到底要多少钱?别急,咱们今天就聊聊怎么查到自己的电工证,顺便带你搞清楚报名费、证书价值、考试流程,以及怎么避免踩坑。…

📰

手机怎么查找电工证 郑州报考避坑指南 三步教你避开中介陷阱

手机怎么查找电工证 郑州报考避坑指南 三步教你避开中介陷阱 你是不是也这样?拿着手机刷了大半天,就是找不到靠谱的电工证报名入口,怕被中介骗钱,怕报错了证以后没用,怕花冤枉钱考了个没用的证。别急,今天我就用郑州本地人的真实经历,给你说说…

📰

特种工挂靠合同值不值得考?实操考试心里没底怕挂科怎么办

特种工挂靠合同值不值得考?实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,尤其是像你这样在平顶山从事公路工程的施工人员,特种工挂靠合同涉及到的资质问题,直接影响到项目施工资格、企业资质升级,甚至是薪资待遇。很多人在准备报考特种作业操作…

📰

电工证教练值不值得考?实操考试心里没底怕挂科,多久拿证看这里

电工证教练值不值得考?实操考试心里没底怕挂科,多久拿证看这里 实操考试心里没底怕挂科?你不是一个人,许昌市政公用工程从业者在报考电工证时,普遍面临同样的焦虑。尤其是 多久拿证…

📰

岑巩电工证培训到期换证流程怎么走?官方报名入口全攻略

岑巩电工证培训到期换证流程怎么走?官方报名入口全攻略 证书过期了不知道怎么复审延期,是不是你遇到的难题?别慌,今天就手把手带你了解岑巩电工证培训到期换证的完整流程,以及如何通过 官方报名入口…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬