从源码构建ASP.NET Core时restore.cmd失败:无法下载servicing版本
关于ASP.NET Core release/6.0分支公开构建及servicing版本下载失败的解决方案
一、release/6.0分支的公开构建权限
release/6.0分支本身允许公开构建,但分支内部分提交依赖的servicing版本运行时(如6.0.7-servicing.22322.2)属于微软内部维护的预发布版本,这类版本不会对外公开分发,因此公开下载渠道无法获取对应资源,这是你执行.\restore.cmd失败的核心原因。
二、可行的解决方法
- 切换到公开稳定版本的标签/提交:放弃使用release/6.0分支的最新提交,检出该分支下对应正式发布版本的标签(例如
v6.0.7),这类标签依赖的运行时版本是公开可下载的,再执行.\restore.cmd即可正常完成依赖恢复。 - 利用本地已安装的.NET 6 SDK:如果本地已经安装了官方发布的.NET 6稳定版SDK(版本不低于分支所需的最低稳定版本),可跳过内部的
dotnet-install步骤:设置环境变量DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1,然后直接运行dotnet restore命令替代.\restore.cmd,让构建系统使用本地已有的SDK完成依赖恢复。 - 谨慎修改依赖版本(测试场景用):尽管官方不建议修改
eng\Versions.props,但如果必须使用当前release/6.0分支的代码,可手动将文件中MicrosoftNetCoreAppRuntimeVersion等相关版本号替换为同大版本的公开稳定版(如6.0.7),再执行恢复命令。注意此操作可能引发兼容性问题,仅适合测试场景。
内容的提问来源于stack exchange,提问作者halllo
相关产品推荐
相关产品推荐

