VS Code中使用SSO Profile调用AWS PowerShell Cmdlets认证失败求助
问题描述
使用Visual Studio Code搭配AWS CLI版本2.9.13,已配置SSO Profile并通过设备码认证访问AWS服务,能正常连接AWS CodeCommit仓库,但调用任何AWS PowerShell Cmdlets并指定参数 -ProfileName MySSOProfile 时,返回以下错误:
Assembly AWSSDK.SSOOIDC could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.Internal.SSOServiceClientHelpers, AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604.
已尝试的操作:
- 重新安装并更新至最新版本的所需AWS模块
- 将WSL上的所有包更新至最新版本
- 安装Visual Studio的AWS Toolkit扩展(当前版本1.60.0)
- 安装AWSSDK.Core --version 3.7.103.13
解决方案
安装匹配版本的AWSSDK.SSOOIDC程序集
在PowerShell中执行命令,安装与已安装的AWSSDK.Core(3.7.103.13)同主版本的AWSSDK.SSOOIDC:Install-Package AWSSDK.SSOOIDC -Version 3.7.100.50若版本不匹配,可查询AWS NuGet仓库选择兼容的最新子版本。
同步AWS PowerShell模块与CLI版本
卸载现有AWS PowerShell模块,重新安装与AWS CLI 2.9.13兼容的版本:Uninstall-Module AWSPowerShell.NetCore -Force Install-Module AWSPowerShell.NetCore -RequiredVersion 4.1.30.0该版本与AWS CLI 2.x系列兼容性稳定,可根据实际情况调整。
检查程序集路径与权限
确认AWSSDK.SSOOIDC程序集存在于PowerShell模块安装目录(通常为C:\Program Files\WindowsPowerShell\Modules\AWSPowerShell.NetCore\lib\netcoreapp3.1),并确保当前用户拥有该目录的读取权限。重置会话并重新认证
关闭所有PowerShell窗口和VS Code终端,重新打开后执行aws sso login --profile MySSOProfile完成SSO认证,再尝试调用Cmdlets。
内容的提问来源于stack exchange,提问作者Russeller
相关产品推荐
相关产品推荐

