Jenkins 部署.net core 项目 - NU1301错误

/root/.jenkins/workspace/householdess/services/host/fdbatt.monitor.HttpApi.Host/fdbatt.monitor.HttpApi.Host.csproj : error NU1301: 本地源“/root/.jenkins/workspace/householdess/​http:/x.x.x.x:9081/repository/nuget.org-proxy/index.json”不存在。 [/root/.jenkins/workspace/householdess/fdbatt.monitor.sln]

但是项目里配置的都是一样的

然后在服务器 

curl 请求 上面的nuget地址都能请求到、

唯独没去查询真正的设置信息

[root@ps-fdcnops-01 householdess]# dotnet nuget list source
注册的源:
  1.  nuget [已启用]
      /root/.jenkins/workspace/householdess/​http:/x.x.x.x:9081/repository/nuget.org-proxy/index.json
  2.  nuget.org [已启用]
      https://api.nuget.org/v3/index.json

不知道为什么在Jenkins 下自动化拉取的代码的dotnet nuget源变化了

然后

要在.NET Core中更改NuGet源,你可以通过以下步骤进行操作:

步骤一:查看当前NuGet源列表

dotnet nuget list source

这条命令将列出当前配置的NuGet源列表。

步骤二:添加新的NuGet源

dotnet nuget add source <SOURCE_URL> --name <SOURCE_NAME>

在上述命令中,<SOURCE_URL> 是新的NuGet源的URL地址,<SOURCE_NAME> 是该源的名称。通过这个命令你可以添加一个新的NuGet源。

步骤三:删除现有的NuGet源

dotnet nuget remove source <SOURCE_NAME>

使用上述命令可以删除指定名称的NuGet源。

步骤四:设置默认的NuGet源

dotnet nuget update source --name <SOURCE_NAME> --configfile <CONFIG_FILE>

通过这个命令可以设置默认的NuGet源,<SOURCE_NAME> 是新的NuGet源的名称,<CONFIG_FILE> 是 NuGet 配置文件的路径。

步骤五:验证更改

dotnet nuget list source

再次运行这个命令来验证你的更改是否生效。

然而设置完后,还是多了前缀  /root/.nuget/NuGet/

[root@ps-fdcnops-01 householdess]# dotnet nuget list source
注册的源:
  1.  nuget.org [已启用]
      https://api.nuget.org/v3/index.json
  2.  nuget [已启用]
      /root/.nuget/NuGet/http:/x.x.x.x:9081/repository/nuget.org-proxy/index.json

这是为什么呢?

在使用 dotnet nuget 设置源时,出现默认前缀 "/root/.nuget/NuGet/" 的情况通常是因为在 Linux 系统下以 root 用户身份执行设置命令导致的。

当以 root 用户身份执行 dotnet 命令时,NuGet 配置文件会存储在 root 用户的主目录下,通常为 "/root/.nuget/NuGet/",这就是为什么会出现默认前缀的原因。

为了避免这种情况,你可以切换到普通用户身份来执行 dotnet 命令。或者在使用 root 用户执行命令时,通过指定 --configfile 选项来指定配置文件的路径,从而将配置文件存储到其他位置而不是默认的 "/root/.nuget/NuGet/"。

另外,确保在执行 dotnet nuget 设置源时,你有足够的权限来写入所指定的配置文件路径,以免出现权限不足的问题。

总而言之,要避免默认前缀为 "/root/.nuget/NuGet/",你可以以普通用户身份执行命令,或者显式地指定其他位置的配置文件路径。

Jenkins重新触发拉取动作,又变回去了,这个dotnet nuget源配置

后面发现可以直接在执行命令的时候直接指定源地址

dotnet restore -s https://nuget.cdn.azure.cn/v3/index.json

后续偶然情况下,又部署了个新环境,发现另外一种配置可行

# 要将 .NET Core 中 NuGet 源修改为指定的源,你可以按照以下步骤进行操作:
# 使用 dotnet nuget add source 命令添加新的 NuGet 源:
# 在终端中执行以下命令来添加新的 NuGet 源:

 dotnet nuget add source http://xx.xx.xxx.xxx:9081/repository/nuget.org-proxy/index.json -- 
 name nuget.xxx


# 禁用旧的 NuGet 源:
# 如果需要,你可以禁用旧的 NuGet 源。执行以下命令:
 
 dotnet nuget disable source nuget.org


# 验证配置:
# 确保新的 NuGet 源已正确添加并启用。你可以执行以下命令来列出当前注册的 NuGet 源:

 dotnet nuget list source

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值