Ich schreibe eine Alexa-Fähigkeit, die eine AWS-Lambda-Funktion mit der C# -Runtime (.NET Core) verwendet und versuche, mithilfe ihrer API eine Verbindung zu einem Google-Blatt herzustellen. Es wirft eine fehlende DLL-Ausnahme während der Laufzeit:AWS Lambda mit .NET Core und Google Tabellen API
Die Typeninitialisierer für ‚System.Security.Cryptography.CngKeyLite‘ eine Ausnahme ausgelöst hat.
bei System.Security.Cryptography.CngKeyLite.ImportKeyBlob (String BlobType, Byte [] Schlüssel-Blob)
bei System.Security.Cryptography.RSAImplementation.RSACng.ImportKeyBlob (Byte [] rsaBlob, Boolean includePrivate)
bei System.Security.Cryptography.RSAImplementation.RSACng.ImportParameters (RSAParameters Parameter)
bei Google.Apis.Auth.OAuth2.ServiceAccountCredential.Initializer.FromPrivateKey (String privateKey)
bei Google.Apis.Auth.OAuth2.DefaultCredentialProvider.CreateServiceAccountCredentialFromParameters (JsonCredentialParameters credentialParameters)
bei Google.Apis.Auth.OAuth2.DefaultCredentialProvider.CreateDefaultCredentialFromParameters (JsonCredentialParameters credentialParameters)
bei AlexaProjLib.GoogleSheet.Connect()
bei AlexaProj.Function.FunctionHandler (SkillRequest Eingang, ILambdaContext Kontext)
Innere Ausnahme:
DLL 'ncrypt.dll' konnte nicht geladen werden: Das angegebene Modul konnte nicht gefunden werden.
Code:
var credential = GoogleCredential.FromJson(_googleSecret).CreateScoped(_scopes);
Service = new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = _applicationName,
});
ich ziemlich neu bin auf .NET-Core und Lambda - wie bekomme ich die fehlende DLL korrekt verwiesen wird?
Gesundheitsprüfung: Fügen Sie Ihre Abhängigkeiten in die Zip, die Sie bis Lambda schieben? Lambda kann keine Pakete wiederherstellen. –
@AnthonyNeace Ich habe die Zip von AWS heruntergeladen und herumgestochert - es enthält sicherlich keine ncrypt.dll, noch eine System.Security.Cryptography.CngKeyLite. In NuGet scheint kein CngKeyLite-Paket vorhanden zu sein, aber es gibt eine System.Security.Cryptography.Cng (die das Problem anscheinend nicht löst). – Ian