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

Ubuntu+Rider环境下使用DefaultAzureCredential遇认证故障求助

Ubuntu下Rider运行.NET 6项目时DefaultAzureCredential无法读取凭证的解决方法

针对你遇到的问题,以下是几个可行的解决步骤:

1. 调整DefaultAzureCredential的凭证优先级

错误提示中多个无效的凭证类型(如ManagedIdentity、VSCode Credential)在干扰,可通过环境变量禁用这些无效类型,让DefaultAzureCredential优先使用Azure CLI凭证:

  • 在Rider的运行配置中,添加以下环境变量:
    • AZURE_IDENTITY_DISABLE_VISUALSTUDIOCODECREDENTIAL=true
    • AZURE_IDENTITY_DISABLE_MANAGEDIDENTITYCREDENTIAL=true
  • 或者在终端中导出变量后启动Rider,确保环境变量被继承:
    export AZURE_IDENTITY_DISABLE_VISUALSTUDIOCODECREDENTIAL=true
    export AZURE_IDENTITY_DISABLE_MANAGEDIDENTITYCREDENTIAL=true
    rider &
    

2. 让程序在系统终端中运行

Rider的默认运行环境可能没有继承系统的Azure CLI会话,可在运行配置中勾选Run in terminal选项,让程序直接使用已登录的Azure CLI凭证。

3. 临时替换为AzureCliCredential验证

如果上述方法无效,可临时修改代码使用AzureCliCredential验证是否能正常获取凭证:

using Azure.Identity;

// 替换原DefaultAzureCredential为AzureCliCredential
var credential = new AzureCliCredential();
// 后续使用credential的业务代码保持不变

若此方法可行,说明问题出在DefaultAzureCredential的凭证链干扰,继续使用步骤1的环境变量配置即可换回DefaultAzureCredential。

4. 确保依赖版本兼容

  • 更新Azure CLI到最新版本:
    az upgrade
    
  • 检查项目中Azure.Identity NuGet包版本,使用最新稳定版,避免版本不兼容问题。

5. 忽略Linux版本不支持的提示

错误中提到的Linux版本不支持是针对ManagedIdentityCredential的,本地开发环境本就不需要该凭证类型,通过步骤1禁用后即可忽略此提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:10:29