Migration auf -Version 3.5AWS SDK for .NET - AWS SDK for .NET

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migration auf -Version 3.5AWS SDK for .NET

Version 3.5 des AWS SDK for .NET standardisiert die .NET-Erfahrung weiter, indem die Unterstützung für alle nicht dem Framework zugehörigen Varianten des SDK auf .NET Standard 2.0 übertragen werden. Je nach Umgebung und Codebasis müssen Sie möglicherweise bestimmte Migrationsarbeiten ausführen, um die Funktionen von Version 3.5 zu nutzen.

In diesem Thema werden die Änderungen in Version 3.5 und mögliche Arbeiten beschrieben, die Sie eventuell durchführen müssen, wenn Sie Ihre Umgebung oder den Codes von Version 3 migrieren möchten.

Was hat sich für Version 3.5 geändert

Im Folgenden wird beschrieben, was sich in AWS SDK for .NET-Version 3.5 geändert hat und was nicht.

.NET Framework und .NET Core

Unterstützung für .NET Framework und .NET Core hat sich nicht geändert.

Xamarin

Xamarin-Projekte (neu und vorhanden) müssen auf .NET Standard 2.0 ausgerichtet werden. Weitere Informationen finden Sie unter Standard .NET 2.0-Unterstützung in Xamarin.Forms und .NET-Implementierungsunterstützung.

Unity

Unity-Apps müssen auf .NET Standard 2.0- oder .NET 4.x-Profile mit Unity 2018.1 oder höher ausgerichtet werden. Weitere Informationen finden Sie unter .NET-Profilunterstützung. Zusätzlich, wenn Sie verwendenIL 2 CPPum zu bauen, müssen Sie das Code-Stripping deaktivieren, indem Sie einlink.xml-Datei, wie unterVerweisen aufAWS SDK for .NETStandard 2.0 von Unity, Xamarin oder UWP. Nachdem Sie Ihren Code auf eine der empfohlenen Codebasen portiert haben, kann Ihre Unity-App auf alle vom SDK angebotenen Services zugreifen.

Da Unity .NET Standard 2.0 unterstützt,AWSSDK.Core-Paket der SDK-Version 3.5 enthält keinen Unity-spezifischen Code mehr. Dies schließt eine gewisse allgemeine Funktionalität ein. Um einen besseren Übergang zu ermöglichen, müssen alleErbeUnity-Code steht als Referenz inaw/aws-sdk-unity-net GitHub -Repository. Wenn Sie bemerken, dass fehlende Funktionalität eine Auswirkung auf Ihre Verwendung vonAWSmit Unity können Sie unterhttps://github.com/aws/dotnet/issues.

Lesen Sie auch Besondere Überlegungen zur Unity-Unterstützung.

Universal Windows Platform (UWP)

Richten Sie Ihre UWP-Anwendung auf Version 16299 oder höher (Fall Creators Update, Version 1709, veröffentlicht im Oktober 2017) aus.

Windows Phone und Silverlight

Version 3.5 der AWS SDK for .NET unterstützt diese Plattformen nicht, da Microsoft sie nicht mehr aktiv entwickelt. Weitere Informationen finden Sie unter:

Ältere tragbare Klassenbibliotheken (profilbasierte PCL)

Ziehen Sie die erneute Ausrichtung Ihrer Bibliothek auf .NET Standard in Erwägung. Weitere Informationen finden Sie unter Vergleich mit Portable Class Libraries von Microsoft.

Amazon Cognito Sync Manager und Amazon Mobile Analytics Manager

Allgemeine Abstraktionen, die die Verwendung von Amazon Cognito Sync und Amazon Mobile Analytics erleichtern, werden aus -Version 3.5AWS SDK for .NET.AWS AppSyncist der bevorzugte Ersatz für Amazon Cognito Sync. Amazon Pinpoint ist der bevorzugte Ersatz für Amazon Mobile Analytics.

Wenn Ihr Code vom Fehlen von allgemeinem Bibliothekscode für betroffen istAWS AppSyncund Amazon Pinpoint haben, können Sie Ihr Interesse an einer oder beiden der folgenden Aktionen angeben GitHub probleme:https://github.com/aws/dotnet/issues/20undhttps://github.com/aws/dotnet/issues/19. Sie können die Bibliotheken für Amazon Cognito Sync Manager und Amazon Mobile Analytics Manager auch von den folgenden beziehen GitHub Repositorys:aw/amazon-cognito-sync-manager-netundaw/aws-mobile-analytics-manager-net.

Migrieren von synchronem Code

Version 3.5 desAWS SDK for .NETunterstützt sowohl .NET Framework als auch .NET Standard (über .NET Core-Versionen wie .NET Core 3.1, .NET 5 usw.). Varianten des SDK, die dem .NET-Standard entsprechen, bieten nur asynchrone Methoden. Wenn Sie also .NET Standard nutzen möchten, müssen Sie den synchronen Code so ändern, dass er asynchron ausgeführt wird.

Die folgenden Codeausschnitte zeigen, wie Sie synchronen Code in asynchronen Code ändern können. Der Code in diesen Ausschnitten wird verwendet, um die Anzahl der Amazon S3 S3-Buckets anzuzeigen.

Der ursprüngliche Code ruftListBuckets.

private static ListBucketsResponse MyListBuckets() { var s3Client = new AmazonS3Client(); var response = s3Client.ListBuckets(); return response; } // From the calling function ListBucketsResponse response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}");

Zur Verwendung von Version 3.5 des SDK rufen SieListBucketsAsyncstattdessen.

private static async Task<ListBucketsResponse> MyListBuckets() { var s3Client = new AmazonS3Client(); var response = await s3Client.ListBucketsAsync(); return response; } // From an **asynchronous** calling function ListBucketsResponse response = await MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); // OR From a **synchronous** calling function Task<ListBucketsResponse> response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}");