news 2026/4/23 3:29:31

dotnet-install v0.2.0 发布了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 3:27:49

AI自动化演进:模型架构、数据飞轮与人机协作

1. 人工智能与自动化浪潮下的行业洞察最近在整理科技行业资料时,翻到了Google联合创始人谢尔盖布林关于AI和自动化的一些访谈内容。作为搜索引擎革命的缔造者之一,布林对技术演进的观察总是带着独特的工程视角。他提到一个很有意思的观点:我们…

作者头像 李华
网站建设 2026/4/23 3:27:47

量子退火中的动态解耦噪声抑制技术

1. 量子退火与噪声抑制技术概述量子退火是一种利用量子力学原理解决组合优化问题的计算范式。与传统的门模型量子计算不同,量子退火通过连续调节系统哈密顿量,使量子态从简单的初始基态演化到目标问题的解所对应的基态。这一过程模拟了量子系统的绝热演化…

作者头像 李华
网站建设 2026/4/23 3:10:06

别再死记硬背了!手把手教你用Python生成PRBS序列(附PRBS3/9/31代码)

用Python实现PRBS序列生成:从理论到实战的完整指南 在数字通信和测试领域,伪随机二进制序列(PRBS)扮演着至关重要的角色。这种看似随机却具有确定性的比特流,广泛应用于信道编码、系统测试和加密算法等多个场景。不同于简单的随机数生成&…

作者头像 李华
网站建设 2026/4/23 3:05:36

小白/程序员入门必看:收藏这份AB实验Agent实战指南,手把手教你用Claude Code快速搭建

本文分享了一个不涉及企业业务逻辑的AB实验Agent示例,旨在帮助小白和程序员学习大模型应用。该Agent具备AB实验统计学知识、配置经验、报告生成和业务建议能力,并详细介绍了其框架、Skill设计及运行效果。通过将AB实验方法论蒸馏成Skill并包装成Agent&am…

作者头像 李华