当前位置: 首页 > news >正文

dotnet-install v0.2.0 发布了

dotnet-install v0.2.0 发布了

Intro

dotnet-install是完全使用 C# 基于 dotnet-install script 实现的 Native AOT 版本的 dotnet SDK 安装工具,可以参考之前的介绍 ,最近把dotnet-install更新到了v0.2.0

Install

可以通过 dotnet tool 来安装

dotnet tool update -g spark.dotnet-install

或者从 GitHub release 下载可执行文件

Problems

最开始做这个工具,更多还是希望把 .NET 安装这件事变得更简单一点,但实际用下来会发现,光“安装”还不够。真正进入日常使用之后,接下来马上会遇到几个问题:

  • • 装了新版本以后,旧版本怎么处理? Windows 上 installer 会自动卸载老版本但是 mac 上不会,能不能也实现自动移除?

  • • 工具本身更新了,怎么更方便地升级?

  • • 在 老版本的基于 intel 的 mac x64 和 alpine 环境里能不能也支持开箱即用的二进制文件?

所以v0.2.0这一版,就放在这些问题上了

upgrade:不只是安装新版本,而是真正完成升级

这次新增的upgrade命令,是我觉得比较实用的一个能力,它做的事情不是单纯“再安装一个版本”,而是会去安装目标 SDK / Runtime 版本,同时清理同一个 channel 里已经过时的旧版本, 并且在清理时复用已有的remove的功能,老版本的 sdk 和 runtime 可以一起清理,如果需要保留 runtime,也可以--sdk-only去只移除 sdk。如果只是想升级 runtime 不安装 sdk,可以指定--runtime选项。

如果已经安装了最新的版本就不会再进行安装,会跳过安装,提示已经安装了最新版本

dotnet-install upgrade 10.0.x

同样地,这个命令也支持--dry-run选项来只预览不下载和更新

dotnet-install upgrade 10.0.x --dry-run

也支持同时指定多个版本,一次更新多个版本:

dotnet-install upgrade 10.0.x 11.0.x

self-update:让工具自己也更容易维护

另外一个更新是self-update

有了这个命令以后,dotnet-install可以直接从 GitHub Releases 更新自身,不需要再手动下载、替换可执行文件。

当工具本身能够自己更新的时候,后续迭代和分发都会方便很多,用户也更容易跟上新版本。

这个主要针对直接使用 Github release artifacts 的用户的,使用 dotnet tool 的用户仍然可以通过dotnet tool update来进行更新

More Platforms

这次还补充了几个新的目标平台:

  • linux-musl-x64

  • linux-musl-arm64

  • osx-x64

加上这些之后,v0.2.0目前提供的二进制文件已经覆盖:

  • • Linux x64

  • • Linux ARM64

  • • Linux musl x64

  • • Linux musl ARM64

  • • macOS x64

  • • macOS ARM64

  • • Windows x64

  • • Windows ARM64

musl Linux的支持方面这里折腾的比较久,最开始想基于 ubuntu arm runner 来实现折腾了好久没折腾出来,最后通过 Github Action 的自定义容器镜像,基于 .NET SDK alpine-aot 的 image 来实现了支持,在 alpine container 里构建出来 alpine 的目标产物,也发现了有些 Github Action 不支持 arm runner 只支持 x64 架构的,通过最原始的 git 和 github-cli 来做了一些 workaround 最终实现了

More

如果你对这个工具感兴趣,欢迎体验、提 Issue、提 PR,或者直接反馈你的使用场景。
这些功能其实都是在真实使用过程中,慢慢发现“还差一点”的地方,一点点补起来的,也希望这个工具后面能继续变得更实用一些。

如果你在使用 GitHub Action 升级时有一点需要注意,0.2.0 版本的 tag 加了一个 v 前缀,和其他的 github action 保持一致

- - uses: WeihanLi/dotnet-install@0.1.0 + - uses: WeihanLi/dotnet-install@v0.2.0

References

  • • https://github.com/WeihanLi/dotnet-install

  • • https://github.com/marketplace/actions/install-dotnet

  • • https://www.nuget.org/packages/spark.dotnet-install

  • • https://github.com/WeihanLi/dotnet-install/releases/tag/v0.2.0

http://www.jsqmd.com/news/685255/

相关文章:

  • 图像识别技术优化
  • # 040、AutoSAR车载量产落地:工程经验、挑战与最佳实践总结
  • Zotero文献管理自动化插件:5分钟打造你的智能工作流
  • HsMod深度解析:55项创新功能全面解锁炉石传说高级玩法
  • 半导体设备盛会哪家好?聚焦产业资源对接,优选高规格平台 - 品牌2026
  • Qualcomm QCX216 LTE Cat1 bis物联网调制解调器技术解析
  • 别再手动算了!用这个在线工具5分钟搞定透明度与十六进制颜色转换
  • 别再乱删了!深入理解Adobe正版服务(AGSService)运行机制与安全移除指南
  • 如何用 bubbles 参数让自定义事件支持在 DOM 树中冒泡
  • AI 实现:智能化浇注系统设计及智能铸造仿真运行、再基于结果迭代设计
  • 2026年靠谱的筑基钢筋网片/钢筋网片高口碑品牌推荐 - 行业平台推荐
  • 8大网盘直链解析工具:告别下载限速的高效解决方案
  • SpringBoot+Vue高性能集群共享平台源码+论文
  • 2026波形梁护栏板可靠供应商TOP推荐:公路护栏板、双波护栏板、双波波形护栏、波形梁钢护栏板、省道波形护栏、路侧护栏板选择指南 - 优质品牌商家
  • 半导体芯片行业展会哪家好?主流半导体芯片行业展会助力芯片企业提升 - 品牌2026
  • StreamCap:开源自动化直播录制解决方案的技术实现与实践
  • C语言学习笔记 - 6.C概述 - C的重要性
  • 别再只会用正则了!JMeter边界提取器(Boundary Extractor)实战:5分钟搞定商品列表名称抓取
  • 2026年蜀绣定制厂家实力推荐指南:蜀绣蜀锦礼品公司/蜀绣蜀锦礼品定制/蜀绣蜀锦纪念品批发/哪里有卖蜀绣蜀锦礼品的/选择指南 - 优质品牌商家
  • 【仅限首批200名开发者】EF Core 10向量搜索企业级扩展模板(含JWT向量权限控制、租户隔离向量库、审计日志埋点)
  • 基于单目RGB视频的3D乳房表面重建技术解析
  • 如何用CoolProp在7天内掌握免费热力学物性计算?
  • # 038、AutoSAR项目实战:从需求到模型(ARXML)设计
  • 操作系统核心知识点总结
  • 量子纠错与表面码在QCCD架构中的实现与优化
  • # 039、AutoSAR项目实战:集成、测试与HIL台架验证
  • 087、扩散模型在药物发现与材料科学:当炼丹遇上扩散
  • 2026年知名的V型动态选粉机/煤磨动态选粉机优质公司推荐 - 行业平台推荐
  • Java响应式编程转型终极方案(Loom协程×Project Reactor×Spring WebFlux深度整合)
  • C语言学习笔记 - 7.C概述 - 怎样学C语言