

La AWS SDK pour .NET V3 est passée en mode maintenance.

Nous vous recommandons de migrer vers la version [AWS SDK pour .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Migration vers la version 3.5 du AWS SDK pour .NET
<a name="net-dg-v35"></a>

[La version 3.5 normalise AWS SDK pour .NET davantage l'expérience .NET en transférant la prise en charge de toutes les variantes du SDK hors Framework vers .NET Standard 2.0.](https://docs.microsoft.com/en-us/dotnet/standard/net-standard) Selon votre environnement et votre base de code, pour tirer parti des fonctionnalités de la version 3.5, vous devrez peut-être effectuer certaines tâches de migration.

Cette rubrique décrit les changements qu’apporte la version 3.5 et le travail que vous pourriez devoir effectuer pour migrer votre environnement ou votre code à partir de la version 3.

## Ce qui a changé pour la version 3.5
<a name="net-dg-v35-changes"></a>

Ce qui suit décrit ce qui a changé ou n'a pas changé dans la AWS SDK pour .NET version 3.5.

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

La prise en charge de .NET Framework et .NET Core n'a pas changé.

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

Les projets Xamarin (nouveaux et existants) doivent cibler .NET Standard 2.0. Consulter [Prise en charge de .NET Standard 2.0 dans Xamarin.Forms](https://docs.microsoft.com/en-us/xamarin/xamarin-forms/internals/net-standard) et [Prise en charge de l'implémentation .NET](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support).

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

Les applications Unity doivent cibler les profils .NET Standard 2.0 ou .NET 4.x à l'aide d'Unity 2018.1 ou ultérieure. Pour plus d'informations, consultez [Prise en charge des profils .NET](https://docs.unity3d.com/2020.1/Documentation/Manual/dotnetProfileSupport.html). En outre, si vous utilisez **IL2CPP** pour compiler, vous devez désactiver le découpage de code en ajoutant un fichier *link.xml*, comme décrit dans [Référencement de la AWS SDK pour .NET norme 2.0 depuis Unity, Xamarin](https://aws.amazon.com/blogs/developer/referencing-the-aws-sdk-for-net-standard-2-0-from-unity-xamarin-or-uwp) ou UWP. Après le portage de votre code vers l'une des bases de code recommandées, votre application Unity peut accéder à tous les services offerts par le kit SDK.

Unity prenant en charge le .NET Standard 2.0, le package **AWSSDK.Core** du SDK version 3.5 ne contient plus de code spécifique à Unity, y compris certaines fonctionnalités de niveau supérieur. Pour une meilleure transition, l'ensemble du code Unity ***existant*** est disponible à titre de référence dans le aws-sdk-unity-net GitHub référentiel [aws/](https://github.com/aws/aws-sdk-unity-net). Si vous trouvez des fonctionnalités manquantes qui ont un impact sur votre utilisation AWS de Unity, vous pouvez déposer une demande de fonctionnalité sur [https://github.com/aws/dotnet/issues](https://github.com/aws/dotnet/issues).

Voir aussi [Considérations spéciales relatives au support Unity](unity-special.md).

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

Ciblez votre application UWP vers [la version 16299 ou ultérieure](https://docs.microsoft.com/en-us/windows/uwp/updates-and-versions/choose-a-uwp-version) (mise à jour Fall Creators, version 1709, publiée en octobre 2017).

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

La version 3.5 de AWS SDK pour .NET ne prend pas en charge ces plateformes car Microsoft ne les développe plus activement. Pour plus d’informations, consultez les ressources suivantes :
+ [Fin de la prise en charge de Windows 10 Mobile](https://support.microsoft.com/en-us/help/4485197/windows-10-mobile-end-of-support-faq)
+ [Fin de la prise en charge de Silverlight](https://support.microsoft.com/en-us/help/4511036/silverlight-end-of-support)

### Bibliothèques de classes portables héritées (basées sur les profils PCLs)
<a name="net-dg-v35-changes-pcl"></a>

Envisagez de recibler votre bibliothèque vers .NET Standard. Pour plus d'informations, consultez [Comparaison avec les bibliothèques de classes portables](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#comparison-to-portable-class-libraries) de Microsoft.

### Gestionnaire de synchronisation Amazon Cognito et Amazon Mobile Analytics Manager
<a name="net-dg-v35-changes-cog-ma"></a>

Les abstractions de haut niveau qui facilitent l'utilisation d'Amazon Cognito Sync et d'Amazon Mobile Analytics sont supprimées de la version 3.5 du. AWS SDK pour .NET AWS AppSync est le remplacement préféré d'Amazon Cognito Sync. Amazon Pinpoint est le produit de remplacement préféré d'Amazon Mobile Analytics.

[Si votre code est affecté par l'absence de code de bibliothèque de niveau supérieur pour Amazon Pinpoint, vous pouvez indiquer que vous vous intéressez à l'un des problèmes GitHub suivants ou aux deux [https://github.com/aws/:](https://github.com/aws/dotnet/issues/20) dotnet/issues/20 AWS AppSync et dotnet/issues/19. https://github.com/aws/](https://github.com/aws/dotnet/issues/19) [Vous pouvez également obtenir les bibliothèques pour Amazon Cognito Sync Manager et Amazon Mobile Analytics Manager à partir des GitHub référentiels suivants : [aws/ amazon-cognito-sync-manager -net et aws/ -net](https://github.com/aws/amazon-cognito-sync-manager-net). aws-mobile-analytics-manager](https://github.com/aws/aws-mobile-analytics-manager-net)

## Migration de code synchrone
<a name="net-dg-v35-migrate-code"></a>

La version 3.5 AWS SDK pour .NET prend en charge à la fois .NET Framework et .NET Standard (via les versions .NET Core telles que .NET Core 3.1, .NET 5, etc.). Les variantes du SDK conformes à .NET Standard fournissent uniquement des méthodes asynchrones. Par conséquent, si vous souhaitez tirer parti de .NET Standard, vous devez modifier le code synchrone afin qu'il s'exécute de manière asynchrone.

Les extraits de code suivants montrent comment vous pouvez transformer le code synchrone en code asynchrone. Le code contenu dans ces extraits est utilisé pour afficher le nombre de compartiments Amazon S3.

Le code d'origine appelle [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}");
```

Pour utiliser la version 3.5 du SDK, appelez [ListBucketsAsync](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/MS3ListBucketsAsyncCancellationToken.html)plutôt.

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