/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.json2. 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.json2. 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