

La AWS SDK per .NET V3 è entrata in modalità manutenzione.

[Ti consigliamo di migrare alla V4.AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta il nostro annuncio sulla modalità di [manutenzione](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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à.

# Migrazione alla versione 3.5 di AWS SDK per .NET
<a name="net-dg-v35"></a>

[La versione 3.5 standardizza AWS SDK per .NET ulteriormente l'esperienza di.NET trasferendo il supporto per tutte le varianti non Framework dell'SDK a.NET Standard 2.0.](https://docs.microsoft.com/en-us/dotnet/standard/net-standard) 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 nella versione 3.5
<a name="net-dg-v35-changes"></a>

Di seguito viene descritto cosa è cambiato o non è cambiato nella AWS SDK per .NET versione 3.5.

### .NET Framework e .NET Core
<a name="net-dg-v35-changes-dotnet"></a>

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

### Xamarin
<a name="net-dg-v35-changes-xamarin"></a>

I progetti Xamarin (nuovi ed esistenti) devono essere indirizzati a .NET Standard 2.0. Vedere il [supporto .NET Standard 2.0 in Xamarin.Forms](https://docs.microsoft.com/en-us/xamarin/xamarin-forms/internals/net-standard) e il [supporto di implementazione .NET](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support).

### Unità
<a name="net-dg-v35-changes-unity"></a>

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](https://docs.unity3d.com/2020.1/Documentation/Manual/dotnetProfileSupport.html). Inoltre, se utilizzi **IL2CPP** per la compilazione, devi disabilitare il code stripping aggiungendo un file *link.xml*, come descritto in [Riferimento AWS SDK per .NET allo Standard 2.0 di Unity, Xamarin](https://aws.amazon.com/blogs/developer/referencing-the-aws-sdk-for-net-standard-2-0-from-unity-xamarin-or-uwp) 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, il pacchetto **AWSSDK.Core** della versione SDK 3.5 non contiene più codice specifico per Unity, incluse alcune funzionalità di livello superiore. [Per fornire una transizione migliore, tutto il codice Unity ***legacy*** è disponibile come riferimento nel repository aws/. aws-sdk-unity-net](https://github.com/aws/aws-sdk-unity-net) GitHub [Se trovi funzionalità mancanti che influiscono sull'utilizzo di AWS Unity, puoi presentare una richiesta di funzionalità all'indirizzo dotnet/issues. https://github.com/aws/](https://github.com/aws/dotnet/issues)

Consultare anche [Considerazioni speciali per il supporto di Unity](unity-special.md).

### Universal Windows Platform (UWP)
<a name="net-dg-v35-changes-uwp"></a>

Destina la tua applicazione UWP alla [versione 16299 o successiva](https://docs.microsoft.com/en-us/windows/uwp/updates-and-versions/choose-a-uwp-version) (aggiornamento Fall Creators, versione 1709, rilasciata a ottobre 2017).

### Windows Phone e Silverlight
<a name="net-dg-v35-changes-phone-silverlight"></a>

La versione 3.5 di AWS SDK per .NET non supporta queste piattaforme perché Microsoft non le sviluppa più attivamente. Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Fine del supporto per Windows 10 Mobile](https://support.microsoft.com/en-us/help/4485197/windows-10-mobile-end-of-support-faq)
+ [Fine del supporto per Silverlight](https://support.microsoft.com/en-us/help/4511036/silverlight-end-of-support)

### Librerie di classi portatili legacy (basate sul profilo PCLs)
<a name="net-dg-v35-changes-pcl"></a>

Considera il retargeting della tua libreria in .NET Standard. Per ulteriori informazioni, vedere [Confronto con le librerie di classi portatili](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#comparison-to-portable-class-libraries) di Microsoft.

### Amazon Cognito Sync Manager e Amazon Mobile Analytics Manager
<a name="net-dg-v35-changes-cog-ma"></a>

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

[Se il tuo codice è influenzato dalla mancanza di un codice di libreria di livello superiore per Amazon Pinpoint, puoi registrare il tuo interesse per uno o entrambi i GitHub seguenti problemi [https://github.com/aws/:](https://github.com/aws/dotnet/issues/20) dotnet/issues/20 AWS AppSync e dotnet/issues/19. https://github.com/aws/](https://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: [aws/ -net e aws/ -net amazon-cognito-sync-manager](https://github.com/aws/amazon-cognito-sync-manager-net). aws-mobile-analytics-manager](https://github.com/aws/aws-mobile-analytics-manager-net)

## Migrazione del codice sincrono
<a name="net-dg-v35-migrate-code"></a>

La versione 3.5 di AWS SDK per .NET supporta sia .NET Framework che .NET Standard (tramite 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, quindi se desideri sfruttare .NET Standard, devi 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 contenuto in questi frammenti viene utilizzato per visualizzare il numero di bucket Amazon S3.

Le chiamate in codice originali. [ListBuckets](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/MS3ListBuckets.html)

```
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, chiama [ListBucketsAsync](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/MS3ListBucketsAsyncCancellationToken.html)invece.

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