选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

的.NET 教程 AWS Cloud9

聚焦模式
的.NET 教程 AWS Cloud9 - AWS Cloud9

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本教程使你能够在 AWS Cloud9 开发环境中运行一些.NET 代码。

按照本教程并创建此示例可能会导致您的 AWS 账户被扣款。其中包括亚马逊 EC2 和Amazon S3等服务可能产生的费用。有关更多信息,请参阅 Amazon EC2 定价和 A mazon S3 定价

先决条件

在使用此示例之前,请确保您的设置满足以下要求:

  • 您必须拥有现有的 AWS Cloud9 EC2 开发环境。此示例假设您的 EC2 环境已连接到运行 Amazon Linux 的亚马逊 EC2 实例,或者 Ubuntu 服务器。如果您有不同类型的环境或操作系统,可能需要按照本示例的说明来设置相关的工具。有关更多信息,请参阅 在中创建环境 AWS Cloud9

  • 您已经打开了现有环境的 AWS Cloud9 IDE。打开环境时,会在 Web 浏览器中 AWS Cloud9 打开该环境的 IDE。有关更多信息,请参阅 在中打开环境 AWS Cloud9

步骤 1:安装所需工具

在此步骤中,将运行此示例需要的 .NET 开发工具包安装到环境中。

  1. 确认环境中是否已安装 .NET 开发工具包的最新版本。为此,请在 AWS Cloud9 IDE 的终端会话中运行带有--version选项的.NET Core 命令行接口 (CLI)。

    dotnet --version

    如果显示 .NET 命令行工具版本并且版本为 2.0 或更高版本,请向前跳至 步骤 3:创建 .NET 控制台应用程序项目。如果版本低于 2.0 或显示 bash: dotnet: command not found 等错误,请继续安装 .NET 开发工具包。

  2. 对于 Amazon Linux,在 AWS Cloud9 IDE 的终端会话中,运行以下命令以帮助确保安装了最新的安全更新和错误修复,并安装.NET SDK 所需的libunwind软件包。(要开始新的终端会话,请在菜单栏上依次选择 Window (窗口)、New Terminal (新建终端)。)

    sudo yum -y update sudo yum -y install libunwind

    对于 Ubuntu Server,在 AWS Cloud9 IDE 的终端会话中,运行以下命令以帮助确保安装了最新的安全更新和错误修复。(要开始新的终端会话,请在菜单栏上依次选择 Window (窗口)、New Terminal (新建终端)。)

    sudo apt -y update
  3. 通过运行以下命令,将 .NET 开发工具包安装程序脚本下载到环境中。

    wget https://dot.net/v1/dotnet-install.sh
  4. 通过运行以下命令,使安装程序脚本可由当前用户执行。

    sudo chmod u=rx dotnet-install.sh
  5. 通过运行以下命令,运行安装程序脚本,该脚本将下载并安装 .NET 开发工具包。

    ./dotnet-install.sh -c Current
  6. 将 .NET 开发工具包添加到 PATH。为此,在环境的 shell 配置文件(例如,.bashrc 文件)中,将 $HOME/.dotnet 子目录添加到环境的 PATH 变量,如下所示。

    1. 使用 .bashrcvi 命令打开 文件以供编辑。

      vi ~/.bashrc
    2. 对于 Amazon Linux,使用向下键或 j 键,移至以 export PATH 开头的行。

      对于 Ubuntu Server,通过键入 G 移动至文件最后一行。

    3. 使用向右键或 $ 键移至行尾。

    4. 通过按 i 键切换到插入模式。(-- INSERT --- 将出现在显示内容的末尾。)

    5. 对于 Amazon Linux,通过键入 :$HOME/.dotnet$HOME/.dotnet 子目录添加至 PATH 变量。请务必包含冒号字符 (:)。现在,行应类似于以下内容。

      export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.dotnet

      对于 Ubuntu Server,请按向右箭头键,然后按 Enter 两次,然后在文件末尾单独输入以下代码行。

      export PATH=$HOME/.dotnet:$PATH
    6. 保存该文件。要执行此操作,请按 Esc 键(-- INSERT --- 将从显示内容的末尾消失),键入 :wq(以写入然后退出文件),然后按 Enter

  7. 通过提供 .bashrc 文件源来加载 .NET 开发工具包。

    . ~/.bashrc
  8. 通过运行带 --help 选项的 .NET CLI 确认已加载 .NET 开发工具包。

    dotnet --help

    如果成功,则显示 .NET 开发工具包版本号,以及附加的使用信息。

  9. 如果不想再在环境中保留 .NET 开发工具包安装程序脚本,则可按如下所述将其删除。

    rm dotnet-install.sh

步骤 2(可选):为 Lambda 函数安装 .NET CLI 扩展

尽管本教程不是必需的,但如果您还安装了Amazon.Lambda.Tools软件包,则可以使用.NET CLI 部署 AWS Lambda 函数和 AWS Serverless Application Model 应用程序。

  1. 要安装此程序包,请运行以下命令:

    dotnet tool install -g Amazon.Lambda.Tools
  2. 现在设置 PATHDOTNET_ROOT 环境变量,以指向已安装的 Lambda 工具。在 .bashrc 文件,查找 export PATH 部分,然后对其进行编辑,使其类似于以下内容(有关编辑此文件的详细信息,请参阅步骤 1):

    export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.dotnet:$HOME/.dotnet/tools export DOTNET_ROOT=$HOME/.dotnet

步骤 3:创建 .NET 控制台应用程序项目

在此步骤中,将使用 .NET 创建一个名为 hello 的项目。此项目包含 .NET 在 IDE 中从终端运行简单应用程序所需的全部文件。该应用程序的代码是用 C# 编写的。

创建 .NET 控制台应用程序项目。要执行此操作,请用 new 命令运行 .NET CLI,并指定要使用的控制台应用程序项目模板类型和编程语言(在本示例中为 C#)。

-n 选项表示将项目输出到新目录,hello。然后,导航到该目录。

dotnet new console -lang C# -n hello cd hello

前面的命令会将一个名为 obj 且包含几个文件的子目录以及一些附加的独立文件添加至 hello 目录。您应注意以下两个关键文件:

  • hello/hello.csproj 文件包含有关控制台应用程序项目的信息。

  • hello/Program.cs 文件包含要运行的应用程序代码。

步骤 4:添加代码

在此步骤中,您将向应用程序中添加一些代码。

在 AWS Cloud9 IDE 的 “环境” 窗口中,打开该hello/Program.cs文件。

在编辑器中,将该文件的当前内容替换为以下代码,然后保存 Program.cs 文件。

using System; namespace hello { class Program { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Please provide 2 numbers"); return; } Console.WriteLine("Hello, World!"); Console.WriteLine("The sum of 2 and 3 is 5."); int sum = Int32.Parse(args[0]) + Int32.Parse(args[1]); Console.WriteLine("The sum of {0} and {1} is {2}.", args[0], args[1], sum); } } }

步骤 5:生成并运行代码

在此步骤中,您会将该项目及其依赖项生成为一组二进制文件,包括一个可运行的应用程序文件。然后运行该应用程序。

  1. 在 IDE 中,为 .NET 创建一个生成器,如下所示。

    1. 在菜单栏中,依次选择 Run (运行)、Build System (生成系统) 和 New Build System (新建生成系统)

    2. My Builder.build (我的 Builder.build) 选项卡上,将选项卡的内容替换为以下代码。

      { "cmd" : ["dotnet", "build"], "info" : "Building..." }
    3. 依次选择 File(文件)、Save As(另存为)

    4. 对于 Filename (文件名),键入 .NET.build

    5. 对于 Folder (文件夹),键入 /.c9/builders

    6. 选择保存

  2. 编辑器中显示 Program.cs 文件的内容后,依次选择 运行、生成系统和 .NET 。然后依次选择 Run (运行)、Build (生成)

    此生成器将向 hello/obj 子目录中添加一个名为 bin 的子目录和一个名为 Debug 的子目录。请注意以下三个关键文件。

    • hello/bin/Debug/netcoreapp3.1/hello.dll 文件是可运行的应用程序文件。

    • hello/bin/Debug/netcoreapp3.1/hello.deps.json 文件列出了应用程序的依赖项。

    • hello/bin/Debug/netcoreapp3.1/hello.runtimeconfig.json 文件为应用程序指定共享的运行时及其版本。

    注意

    文件夹名称 netcoreapp3.1,反映了本示例中使用的 .NET 开发工具包的版本。根据您安装的版本,您可能会在文件夹名称中看到不同的编号。

  3. 为 .NET 创建一个运行程序,如下所示。

    1. 在菜单栏上,依次选择 Run (运行)、Run With (运行方式) 和 New Runner (新建运行程序)

    2. My Runner.run (我的 Runner.run) 选项卡上,将该选项卡的内容替换为以下代码。

      { "cmd" : ["dotnet", "run", "$args"], "working_dir": "$file_path", "info" : "Running..." }
    3. 依次选择 File(文件)、Save As(另存为)

    4. 对于 Filename (文件名),键入 .NET.run

    5. 对于 Folder (文件夹),键入 /.c9/runners

    6. 选择保存

  4. 运行应用程序,将两个整数相加(例如,59),如下所示。

    1. 当编辑器中显示 Program.cs 文件的内容时,依次选择 Run (运行)、Run Configurations (运行配置) 和 New Run Configuration (新建运行配置)

    2. [新建] - 空闲 选项卡中,选择运行程序: 自动,然后选择 .NET

    3. Command (命令) 框中,键入 hello 5 9

    4. 选择运行

      默认情况下,此运行程序将指示 .NET 运行 hello.dll 目录中的 hello/bin/Debug/netcoreapp3.1 文件。

      将输出与以下内容进行比较。

      Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.

步骤 6:创建和设置使用.NET 控制台应用程序项目 适用于 .NET 的 AWS SDK

您可以增强此示例,使用创建 Amazon S3 存储桶,列出您的可用存储桶,然后删除您刚刚创建的存储桶。 适用于 .NET 的 AWS SDK

在此新项目中,您将添加对 适用于 .NET 的 AWS SDK的引用。 适用于 .NET 的 AWS SDK 提供了一种通过.NET 代码与 Amazon S3 等 AWS 服务进行交互的便捷方式。然后,您可以在自己的环境中设置 AWS 凭证管理。 适用于 .NET 的 AWS SDK 需要这些凭据才能与 AWS 服务进行交互。

创建 项目

  1. 创建 .NET 控制台应用程序项目。要执行此操作,请用 new 命令运行 .NET CLI,并指定要使用的控制台应用程序项目模板类型和编程语言。

    -n 选项表示将项目输出到新目录,s3。然后,导航到该目录。

    dotnet new console -lang C# -n s3 cd s3
  2. 在 适用于 .NET 的 AWS SDK中添加对 Amazon S3 程序包的项目引用。为此,请使用add package命令运行.NET CLI,并在中指定 Amazon S3 软件包的名称 NuGet。 (NuGet定义如何创建、托管和使用.NET 软件包,并为每个角色提供工具。)

    dotnet add package AWSSDK.S3

    向 Amazon S3 包添加项目引用时, NuGet 还会向其余部分添加项目引用 适用于 .NET 的 AWS SDK。

    注意

    有关中其他 AWS 相关软件包的名称和版本 NuGet,请参阅网站上标有 aws-sdk 的NuGet NuGet 软件包

设置 AWS 凭据管理

每次使用调 适用于 .NET 的 AWS SDK 用 AWS 服务时,都必须为呼叫提供一组 AWS 凭据。这些证书决定了是否 适用于 .NET 的 AWS SDK 具有进行该呼叫的相应权限。如果凭证没有包括合适的权限,调用将失败。

要在环境中存储凭证,请按照 AWS 服务 从中的环境中呼叫 AWS Cloud9 中的说明进行操作,然后返回到该主题。

有关更多信息,请参阅《适用于 .NET 的 AWS SDK 开发人员指南》中的配置 AWS 凭证

第 7 步:添加 AWS SDK 代码

在此步骤中,您添加用于与 Amazon S3 交互的代码,以用于创建存储桶、删除刚刚创建的存储桶,然后列出可用的存储桶。

在 AWS Cloud9 IDE 的 “环境” 窗口中,打开该s3/Program.cs文件。在编辑器中,将该文件的当前内容替换为以下代码,然后保存 Program.cs 文件。

using Amazon; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace s3 { class Program { async static Task Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: <the bucket name> <the AWS Region to use>"); Console.WriteLine("Example: my-test-bucket us-east-2"); return; } if (args[1] != "us-east-2") { Console.WriteLine("Cannot continue. The only supported AWS Region ID is " + "'us-east-2'."); return; } var bucketRegion = RegionEndpoint.USEast2; // Note: You could add more valid AWS Regions above as needed. using (var s3Client = new AmazonS3Client(bucketRegion)) { var bucketName = args[0]; // Create the bucket. try { if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, bucketName)) { Console.WriteLine("Cannot continue. Cannot create bucket. \n" + "A bucket named '{0}' already exists.", bucketName); return; } else { Console.WriteLine("\nCreating the bucket named '{0}'...", bucketName); await s3Client.PutBucketAsync(bucketName); } } catch (AmazonS3Exception e) { Console.WriteLine("Cannot continue. {0}", e.Message); } catch (Exception e) { Console.WriteLine("Cannot continue. {0}", e.Message); } // Confirm that the bucket was created. if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, bucketName)) { Console.WriteLine("Created the bucket named '{0}'.", bucketName); } else { Console.WriteLine("Did not create the bucket named '{0}'.", bucketName); } // Delete the bucket. Console.WriteLine("\nDeleting the bucket named '{0}'...", bucketName); await s3Client.DeleteBucketAsync(bucketName); // Confirm that the bucket was deleted. if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, bucketName)) { Console.WriteLine("Did not delete the bucket named '{0}'.", bucketName); } else { Console.WriteLine("Deleted the bucket named '{0}'.", bucketName); }; // List current buckets. Console.WriteLine("\nMy buckets now are:"); var response = await s3Client.ListBucketsAsync(); foreach (var bucket in response.Buckets) { Console.WriteLine(bucket.BucketName); } } } } }

第 8 步:生成并运行 S AWS DK 代码

在此步骤中,您会将该项目及其依赖项生成为一组二进制文件,包括一个可运行的应用程序文件。然后运行该应用程序。

  1. 构建 项目。要执行此操作,在编辑器中显示 s3/Program.cs 文件的内容后,请在菜单栏上依次选择 Run (运行)、Build (生成)

  2. 用要创建的 Amazon S3 存储桶的名称和要在其中创建存储桶的 AWS 区域的 ID(例如,my-test-bucketus-east-2)运行应用程序,如下所示。

    1. 当编辑器中仍显示 s3/Program.cs 文件的内容时,依次选择 Run (运行)、Run Configurations (运行配置)、New Run Configuration (新建运行配置)

    2. [新建] - 空闲 选项卡中,选择运行程序: 自动,然后选择 .NET

    3. 命令框中,键入应用程序的名称、要创建的 Amazon S3 存储桶的名称以及要在其中创建存储桶的 AWS 区域 ID(例如s3 my-test-bucket us-east-2)。

    4. 选择运行

      默认情况下,此运行程序将指示 .NET 运行 s3.dll 目录中的 s3/bin/Debug/netcoreapp3.1 文件。

      将结果与以下输出进行比较。

      Creating a new bucket named 'my-test-bucket'... Created the bucket named 'my-test-bucket'. Deleting the bucket named 'my-test-bucket'... Deleted the bucket named 'my-test-bucket'. My buckets now are:

步骤 9:清除

为了防止在您使用完此示例后继续向您的 AWS 账户收费,您应该删除该环境。有关说明,请参阅 删除中的环境 AWS Cloud9

下一主题:

Node.js 教程

上一主题:

Python 教程
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。