Migalla alla versione 3.5 diAWS SDK for .NET - AWS SDK for .NET

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migalla alla versione 3.5 diAWS SDK for .NET

La versione 3.5 di AWS SDK for .NET standardizza ulteriormente l'esperienza.NET passando il supporto per tutte le varianti non Framework dell'SDK a .NET Standard 2.0. A seconda dell'ambiente e della base di codice, per sfruttare le funzionalità della versione 3.5, potrebbe essere necessario eseguire determinati lavori di migrazione.

In questo argomento vengono descritte le modifiche apportate alla versione 3.5 e le possibili operazioni da eseguire per la migrazione dell'ambiente o del codice dalla versione 3.

Cosa è cambiato per la versione 3.5

Di seguito viene descritto ciò che è o non è cambiato in AWS SDK for .NET versione 3.5.

.NET Framework e .NET Core

Il supporto per .NET Framework e .NET Core non è cambiato.

Xamarin

I progetti Xamarin (nuovi ed esistenti) devono essere indirizzati a .NET Standard 2.0. Vedere il supporto .NET Standard 2.0 in Xamarin.Forms e il supporto di implementazione .NET.

Unità

Le app Unity devono essere indirizzate ai profili .NET Standard 2.0 o .NET 4.x utilizzando Unity 2018.1 o versioni successive. Per ulteriori informazioni, vedere il supporto del profilo .NET. Inoltre, se viene utilizzatoIL2 CPPper compilare, è necessario disabilitare la rimozione del codice aggiungendo unlink.xml, come descritto inRiferimenti alAWS SDK for .NETStandard 2.0 di Unity, Xamarin o UWP. Dopo aver eseguito il port del codice in una delle basi di codice consigliate, l'app Unity può accedere a tutti i servizi offerti dall'SDK.

Poiché Unity supporta .NET Standard 2.0,AWSSDK.coreIl pacchetto dell'SDK versione 3.5 non dispone più di codice specifico di unità, incluse alcune funzionalità di livello superiore. Per fornire una transizione migliore, tutte leereditàIl codice Unity è disponibile per riferimento nellaaw/aws-sdk-unity-net GitHub repository. Se si riscontrano funzionalità mancanti che influiscono sull'utilizzo diAWScon Unity, è possibile presentare una richiesta di funzionalità all'indirizzohttps://github.com/aws/dotnet/issues.

Consulta anche Considerazioni speciali per il supporto di Unity.

Universal Windows Platform (UWP)

Destina la tua applicazione UWP alla versione 16299 o successiva (aggiornamento Fall Creators, versione 1709, rilasciata a ottobre 2017).

Windows Phone e Silverlight

La versione 3.5 di AWS SDK for .NET non supporta queste piattaforme perché Microsoft non le sta più sviluppando attivamente. Per ulteriori informazioni, consulta gli argomenti seguenti:

Librerie di classi portatili legacy (PCL basati su profili)

Considera il retargeting della tua libreria in .NET Standard. Per ulteriori informazioni, vedere Confronto con le librerie di classi portatili di Microsoft.

Amazon Cognito Sync Manager e Amazon Mobile Analytics Manager

Astrazioni di alto livello che facilitano l'utilizzo di Amazon Cognito Sync e Amazon Mobile Analytics vengono rimosse dalla versione 3.5 diAWS SDK for .NET.AWS AppSyncè il sostituto preferito per Amazon Cognito Sync. Amazon Pinpoint è il sostituto preferito di Amazon Mobile Analytics.

Se il tuo codice è influenzato dalla mancanza di codice di libreria di livello superiore perAWS AppSynce Amazon Pinpoint, puoi registrare il tuo interesse in uno o entrambi i seguenti formati GitHub problemi:https://github.com/aws/dotnet/issues/20ehttps://github.com/aws/dotnet/issues/19. Puoi anche ottenere le librerie per Amazon Cognito Sync Manager e Amazon Mobile Analytics Manager dai seguenti GitHub repository:aw/amazon-cognito-sync-manager-neteaw/aws-mobile-analytics-manager-net.

Migrazione del codice sincrono

Versione 3.5 diAWS SDK for .NETsupporta sia .NET Framework che .NET Standard (tramite le versioni .NET Core come .NET core 3.1, .NET 5 e così via). Le varianti dell'SDK conformi a .NET Standard forniscono solo metodi asincroni, pertanto se si desidera sfruttare .NET Standard, è necessario modificare il codice sincrono in modo che venga eseguito in modo asincrono.

I frammenti di codice riportati di seguito mostrano come è possibile modificare il codice sincrono in codice asincrono. Il codice in questi frammenti viene utilizzato per visualizzare il numero di bucket Amazon S3.

Il codice originale chiamaListBuckets.

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}");

Per utilizzare la versione 3.5 dell'SDK, chiamareListBucketsAsyncanziché.

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}");