在Rider中启用CodeArtifact NuGet凭据提供商遇登录问题求助
解决Rider中AWS CodeArtifact NuGet凭据提供商失效问题
先确认Rider的环境变量继承情况
MacOS从Launchpad打开的Rider不会继承终端的环境变量,而aws sso login的会话信息只存在终端环境里。试试从终端启动Rider:
open -a "Rider.app"
这样Rider就能获取到AWS SSO的会话数据了。
检查NuGet配置文件
打开~/.nuget/NuGet/NuGet.Config,确保配置包含以下关键部分:
- 正确的CodeArtifact源地址
- 凭据提供商配置项
- 用
$(AWS_CODEARTIFACT_AUTH_TOKEN)作为密码值
参考配置示例:
<configuration> <packageSources> <add key="my-codeartifact-source" value="https://your-domain-id.d.codeartifact.region.amazonaws.com/nuget/your-repo/v3/index.json" /> </packageSources> <packageSourceCredentials> <my-codeartifact-source> <add key="Username" value="aws" /> <add key="ClearTextPassword" value="$(AWS_CODEARTIFACT_AUTH_TOKEN)" /> </my-codeartifact-source> </packageSourceCredentials> <credentialProviders> <add key="AWS" value="Amazon.CodeArtifact.NuGetCredentialProvider, Amazon.CodeArtifact.NuGetCredentialProvider" /> </credentialProviders> </configuration>
同时在Rider内置终端执行echo $AWS_CODEARTIFACT_AUTH_TOKEN,确认能输出有效令牌;如果没有,重新执行aws sso login --profile 你的配置文件名。
清除相关缓存
- 打开Rider的「File → Invalidate Caches...」,勾选「Clear file system cache and local history」,点击「Invalidate and Restart」
- 在终端执行
dotnet nuget locals all --clear,清除NuGet本地缓存
核对Rider的NuGet设置细节
进入「Build/Execution/Deployment → NuGet → NuGet Settings」:
- 确保「Enable NuGet credential providers」处于勾选状态
- 检查「Credential providers path」指向
~/.nuget/plugins/netcore(该目录下应有AWS凭据提供商的相关文件),若路径错误,手动添加此目录
重新激活AWS SSO会话
在Rider的终端里重新执行aws sso login --profile 你的配置文件名,确认会话处于活跃状态后,再执行nuget restore测试。
内容的提问来源于stack exchange,提问作者Anthony
相关产品推荐
相关产品推荐

