我得到了这个异常:
无法将型别'RSACng'的对象转换为型别'System.Security.Cryptography.RSACryptoServiceProvider'
调用此方法:
GoogleCredential cred = GoogleCredential.FromFile(path);
完整异常:
Unable to cast object of type 'RSACng' to type 'System.Security.Cryptography.RSACryptoServiceProvider'
at Google.Apis.Auth.OAuth2.ServiceAccountCredential.Initializer.FromPrivateKey(String privateKey) in C:\Apiary\2019-09-11.10-11-15\Src\Support\Google.Apis.Auth\OAuth2\ServiceAccountCredential.cs:line 110
at Google.Apis.Auth.OAuth2.DefaultCredentialProvider.CreateServiceAccountCredentialFromParameters(JsonCredentialParameters credentialParameters) in C:\Apiary\2019-09-11.10-11-15\Src\Support\Google.Apis.Auth\OAuth2\DefaultCredentialProvider.cs:line 243
at Google.Apis.Auth.OAuth2.DefaultCredentialProvider.CreateDefaultCredentialFromParameters(JsonCredentialParameters credentialParameters) in C:\Apiary\2019-09-11.10-11-15\Src\Support\Google.Apis.Auth\OAuth2\DefaultCredentialProvider.cs:line 197
at Google.Apis.Auth.OAuth2.GoogleCredential.FromFile(String path) in C:\Apiary\2019-09-11.10-11-15\Src\Support\Google.Apis.Auth\OAuth2\GoogleCredential.cs:line 114
at ServerUtil.GCloudReporter..ctor(String version, String deployEnv)
使用.NET框架4.5.1
谷歌应用程序接口库1.41.1版
5条答案
按热度按时间ht4b089n1#
我得到了完全相同的异常。
在我的例子中,我使用的是Sustainsys.Saml2.AspNetCore2版本(2.8.0)的nuget包。
我已经更新到2.9.0并删除了所有与身份验证相关的cookie。
它解决了我的问题。
8yparm6h2#
问题是应用程序在.NET Core环境中运行,但此特定代码位于.NET Framework项目设置中将代码移动到具有.NET Core设置项目中可修复此问题
ogq8wdun3#
在我的例子中,当我想从服务层到我的.NetCore项目中使用我的通知服务时,我遇到了这个错误。
无法将型别'RSACng'的对象转换为型别'System.Security.Cryptography.RSACryptoServiceProvider'
我只使用包管理器将“FirebaseAdmin”包添加到我的.NetCore项目中。
这对我来说很困惑,因为我在不需要这个包的.Net框架项目上没有得到这个错误。
相当愚蠢的错误,但我希望这能为其他人节省宝贵的时间
cetgtptt4#
.NET核心步骤1:步骤2:创建一个类“X509 Certificate 2Signature”
步骤3:在此行中,IExternalSignature外部签名=新X509证书2签名(证书,“SHA1”);指向您最近创建的类“X509 Certificate 2Signature”。
tuwxkamq5#