

 適用於 .NET 的 AWS SDK V3 已進入維護模式。

我們建議您遷移至 [適用於 .NET 的 AWS SDK V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html)。如需如何遷移的其他詳細資訊和資訊，請參閱我們的[維護模式公告](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 遷移至 第 3 版 適用於 .NET 的 AWS SDK
<a name="migration-v3"></a>

本主題說明 第 3 版的變更， 適用於 .NET 的 AWS SDK 以及如何將程式碼遷移至此版本的 SDK。

## 關於 適用於 .NET 的 AWS SDK 版本
<a name="net-dg-migrate-v3-intro"></a>

 適用於 .NET 的 AWS SDK最初於 2009 年 11 月發行，專為 .NET Framework 2.0 而設計。由於該版本發佈，.NET 使用 .NET Framework 4.0 和 .NET Framework 4.5，和新增新的目標平台：WinRT 和 Windows Phone。

適用於 .NET 的 AWS SDK 第 2 版已更新，以利用 .NET 平台的新功能，並以 WinRT 和 Windows Phone 為目標。

適用於 .NET 的 AWS SDK 第 3 版已更新，使組件模組化。

## 適用於開發套件的架構重新設計
<a name="net-dg-migrate-v3-arch"></a>

整個 第 3 版 適用於 .NET 的 AWS SDK 已重新設計為模組化。每個服務都在自己的組件內實作，而不是在一個全球組件內。您不再需要將整個 新增至 適用於 .NET 的 AWS SDK 您的應用程式。您現在可以僅為應用程式使用 AWS 的服務新增組件。

## 突破性變更
<a name="net-dg-migrate-v3-breaking"></a>

以下章節說明 適用於 .NET 的 AWS SDK版本 3 的變更。

### 移除 AWSClientFactory
<a name="awsclientfactory-removed"></a>

已移除 `Amazon.AWSClientFactory` 類別。現在，請使用服務用戶端建構函數建立服務用戶端。例如，建立 `AmazonEC2Client`：

```
var ec2Client = new Amazon.EC2.AmazonEC2Client();
```

### 移除 Amazon.Runtime.AssumeRoleAWSCredentials
<a name="assumeroleawscredentials-removed"></a>

`Amazon.Runtime.AssumeRoleAWSCredentials` 類別已移除，因為它位於核心命名空間中，但相依於 AWS Security Token Service，而且因為在 SDK 中已過時。改用 `Amazon.SecurityToken.AssumeRoleAWSCredentials` 類別。

### 移除 S3Link 的 SetACL 方法
<a name="setacl-removed"></a>

`S3Link` 類別是 `Amazon.DynamoDBv2`套件的一部分，用於在 Amazon S3 中存放做為 DynamoDB 項目中參考的物件。這是有用的功能，但我們不想在 DynamoDB 的 `Amazon.S3`套件上建立編譯相依性。因此，我們簡化 `S3Link` 類別裡公開的 `Amazon.S3` 方法，我們用 `MakeS3ObjectPublic` 方法取代 `SetACL` 方法。如需更多物件的控制存取控制清單 (ACL) 的控制權，請直接使用 `Amazon.S3` 套件。

### 移除已淘汰的結果類別
<a name="result-classes-removed"></a>

對於 中的大多數服務 適用於 .NET 的 AWS SDK， 操作會傳回包含操作中繼資料的回應物件，例如請求 ID 和結果物件。額外擁有單獨回應和結果類別，並為開發人員建立額外輸入。在 第 2 版中 適用於 .NET 的 AWS SDK，我們會將結果類別中的所有資訊放入回應類別。同時，我們也標示已淘汰的結果類別，建議不再使用。在 第 3 版中 適用於 .NET 的 AWS SDK，我們移除了這些已淘汰的結果類別，以協助減少 SDK 的大小。

### AWS 組態區段變更
<a name="configs-changes"></a>

您可以透過 適用於 .NET 的 AWS SDK `App.config`或 `Web.config` 檔案執行 的進階組態。您可透過 `<aws>` config，如下列所提參考的開發套件組件名稱，來完成此項作業。

```
<configuration>
  <configSections>
    <section name="aws" type="Amazon.AWSSection, AWSSDK"/>
  </configSections>
  <aws region="us-west-2">
    <logging logTo="Log4Net"/>
  </aws>
</configuration>
```

在 第 3 版中 適用於 .NET 的 AWS SDK，`AWSSDK`組件不再存在。我們將常見程式碼到放入 `AWSSDK.Core` 組件中。所以，您將需要您的 `App.config` 或 `Web.config` 檔案中對 `AWSSDK` 組件的參考更改為 `AWSSDK.Core` 組件，如下所示：

```
<configuration>
  <configSections>
    <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/>
  </configSections>
  <aws region="us-west-2">
    <logging logTo="Log4Net"/>
  </aws>
</configuration>
```

您也可以利用 `Amazon.AWSConfigs` 類別操作組態設定。在 第 3 版中 適用於 .NET 的 AWS SDK，我們將 DynamoDB 的組態設定從 `Amazon.AWSConfigs`類別移至 `Amazon.AWSConfigsDynamoDB`類別。