Nuget 恢复因身份验证失败
Nuget restore fails with authentication
为了工作迁移到我的 Linux 机器,我 运行 遇到了 Nuget 问题。我们的项目是 .net core 3.1,每个项目都有自己的 nuget.config 文件,其中有四个包源。第一个是显而易见的,但其余的是公司特有的。
每当我构建时,我都会收到一条错误消息,指出我未获得授权:
/usr/share/dotnet/sdk/3.1.301/NuGet.targets(128,5):错误:无法加载源 https://aldinternational.pkgs.visualstudio.com/_packaging/PLASMA/nuget/v3/index.json 的服务索引。 [/home/lg/Documents/ALD/repo/CampaignIngestion.OmegaConnector/OmegaConnector.Functions/OmegaConnector.Functions.csproj]
/usr/share/dotnet/sdk/3.1.301/NuGet.targets(128,5):错误:响应状态代码不表示成功:401(未授权)。 [/home/lg/Documents/ALD/repo/CampaignIngestion.OmegaConnector/OmegaConnector.Functions/OmegaConnector.Functions.csproj]
0 条警告
1 个错误
但是当我把它放在浏览器中时我可以获得 json 输出。我有 运行:
mozroots --import --sync --url https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt
因为我发现它的线程似乎有类似的问题,但对我来说运气不好。
dotnet --info output
.NET Core SDK (reflecting any global.json):
Version: 3.1.301
Commit: 7feb845744
Runtime Environment:
OS Name: ubuntu
OS Version: 18.04
OS Platform: Linux
RID: ubuntu.18.04-x64
Base Path: /usr/share/dotnet/sdk/3.1.301/
Host (useful for support):
Version: 3.1.5
Commit: 65cd789777
.NET Core SDKs installed:
2.1.302 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]
3.1.301 [/usr/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
构建肯定是正确的 nuget.config 并且没有使用我的本地使用配置。我该如何解决这个问题?
我已经下载了 key="nuget.org" value="https://api.nuget.org/v3/index.json" 中的所有包,因为它是第一个在我认为的列表中。
这一切归结为将正确的 packageSourceCredentials 添加到正确的 nuget.config 文件。我有
- ~/.config/NuGet/nuget.config
- ~/.nuget/NuGet/nuget.config
- 解决方案级别nuget.config文件
不要为此使用#3,因为这会将用户设置为解决方案级别并且已提交。当我从项目文件夹执行“dotnet build”时,#1 似乎没有任何影响。 #2 是需要设置凭据的文件(无论如何对我来说)。
下一个问题是我们在我们的私人仓库上设置了 PAT 代码访问,但非 windows 平台不支持加密,只是放置明文密码也没有用。我需要做的是:
- 去VSTS用我的账号登录然后生成一个PAT码
- 在 #2 nuget 配置文件中创建 PackageSourceCredentials 部分
- 为每个需要凭据的存储库在 PackageSourceCredentials 部分中为其名称创建一个部分
即
(PLASMA 在我们设置的#3 nuget.config 文件中定义)
<PLASMA>
<add key="Username" value="your username for PAT code" />
<add key="ClearTextPassword" value="Copied PAT code from vsts" />
</PLASMA>
如果你只使用密码而不是 ClearTextPassword,它似乎不起作用,“复制的 PAT 代码”是你从 vsts 复制出来的代码。我需要凭据的包源在#3 配置文件中定义,而它们的凭据在#2 配置文件中定义,这似乎无关紧要。
为了工作迁移到我的 Linux 机器,我 运行 遇到了 Nuget 问题。我们的项目是 .net core 3.1,每个项目都有自己的 nuget.config 文件,其中有四个包源。第一个是显而易见的,但其余的是公司特有的。
每当我构建时,我都会收到一条错误消息,指出我未获得授权:
/usr/share/dotnet/sdk/3.1.301/NuGet.targets(128,5):错误:无法加载源 https://aldinternational.pkgs.visualstudio.com/_packaging/PLASMA/nuget/v3/index.json 的服务索引。 [/home/lg/Documents/ALD/repo/CampaignIngestion.OmegaConnector/OmegaConnector.Functions/OmegaConnector.Functions.csproj] /usr/share/dotnet/sdk/3.1.301/NuGet.targets(128,5):错误:响应状态代码不表示成功:401(未授权)。 [/home/lg/Documents/ALD/repo/CampaignIngestion.OmegaConnector/OmegaConnector.Functions/OmegaConnector.Functions.csproj] 0 条警告 1 个错误
但是当我把它放在浏览器中时我可以获得 json 输出。我有 运行:
mozroots --import --sync --url https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt
因为我发现它的线程似乎有类似的问题,但对我来说运气不好。
dotnet --info output
.NET Core SDK (reflecting any global.json):
Version: 3.1.301
Commit: 7feb845744
Runtime Environment:
OS Name: ubuntu
OS Version: 18.04
OS Platform: Linux
RID: ubuntu.18.04-x64
Base Path: /usr/share/dotnet/sdk/3.1.301/
Host (useful for support):
Version: 3.1.5
Commit: 65cd789777
.NET Core SDKs installed:
2.1.302 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]
3.1.301 [/usr/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.2 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
构建肯定是正确的 nuget.config 并且没有使用我的本地使用配置。我该如何解决这个问题?
我已经下载了 key="nuget.org" value="https://api.nuget.org/v3/index.json" 中的所有包,因为它是第一个在我认为的列表中。
这一切归结为将正确的 packageSourceCredentials 添加到正确的 nuget.config 文件。我有
- ~/.config/NuGet/nuget.config
- ~/.nuget/NuGet/nuget.config
- 解决方案级别nuget.config文件
不要为此使用#3,因为这会将用户设置为解决方案级别并且已提交。当我从项目文件夹执行“dotnet build”时,#1 似乎没有任何影响。 #2 是需要设置凭据的文件(无论如何对我来说)。
下一个问题是我们在我们的私人仓库上设置了 PAT 代码访问,但非 windows 平台不支持加密,只是放置明文密码也没有用。我需要做的是:
- 去VSTS用我的账号登录然后生成一个PAT码
- 在 #2 nuget 配置文件中创建 PackageSourceCredentials 部分
- 为每个需要凭据的存储库在 PackageSourceCredentials 部分中为其名称创建一个部分 即
(PLASMA 在我们设置的#3 nuget.config 文件中定义)
<PLASMA>
<add key="Username" value="your username for PAT code" />
<add key="ClearTextPassword" value="Copied PAT code from vsts" />
</PLASMA>
如果你只使用密码而不是 ClearTextPassword,它似乎不起作用,“复制的 PAT 代码”是你从 vsts 复制出来的代码。我需要凭据的包源在#3 配置文件中定义,而它们的凭据在#2 配置文件中定义,这似乎无关紧要。