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

Nexus升级后出现NU1301错误:无法获取Microsoft.NET.Test.Sdk信息

Nexus升级后NuGet拉取报错NU1301的原因与解决办法

问题根源

  1. API解析逻辑变更:Nexus 3.58.1对NuGet V3 API的请求参数解析做了严格调整,旧版本能兼容的URL单引号编码,新版本会直接判定为无效请求。
  2. 仓库索引损坏:跨大版本升级时,NuGet仓库的元数据索引没有自动重建,导致包检索请求无法匹配到正确的包信息。
  3. 协议支持收缩:新版本默认收紧了NuGet协议版本的支持范围,客户端请求的semVerLevel=2.0.0可能不在默认允许的范围内。

解决步骤

1. 强制重建NuGet仓库索引

  • 登录Nexus后台,找到你的nuget-group仓库,进入设置页
  • 切换到Repositories标签,点击底部的「Rebuild Index」按钮,等待索引重建完成(时间取决于仓库大小)
  • 重建后重新执行dotnet restore测试

2. 检查NuGet API配置

  • 进入nuget-group的配置页面,找到NuGet API板块:
    • 确认「Allow NuGet V3 API」是开启状态
    • 检查「SemVer Level」设置是否包含2.0.0版本,若没有则手动添加
  • 部分新版本Nexus提供了「兼容旧版请求」的选项,如有则开启

3. 修正NuGet源URL格式

  • 打开本地的NuGet.Config文件(路径一般是C:\Users\你的用户名\AppData\Roaming\NuGet\NuGet.Config)
  • 将仓库源URL修改为标准的V3格式,去掉多余的单引号:
    <add key="mynexus" value="https://mynexus.com/repository/nuget-group/v3/index.json" />
    
  • 保存后执行nuget update -self更新NuGet客户端,再重试拉取操作

4. 验证权限配置

  • 进入Nexus的「Security」→「Realms」页面,确保「NuGet API Key Realm」和「NuGet Feed Realm」已启用
  • 检查nuget-group仓库的权限设置,确认对应账号(或匿名用户)有「read」权限

5. 分阶段升级(终极方案)

如果跨大版本升级导致的兼容性问题无法快速修复,先通过Helm回滚到3.29.0:

helm rollback nexus-release 1  # 替换为你的Helm release名称和历史版本号

然后分小版本逐步升级(比如3.29.0 → 3.40.1 → 3.50.0 → 3.58.1),每个版本升级后都验证NuGet功能正常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:23:26