捆绑适用于 .NET Core on Linux 平台的应用程序 - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

捆绑适用于 .NET Core on Linux 平台的应用程序

您可以在 Amazon Elastic Beanstalk 上运行运行时依赖自包含 .NET Core 应用程序。

依赖于运行时的应用程序使用 Elastic Beanstalk 提供的 .NET Core 运行时来运行应用程序。Elastic Beanstalk 使用源包中的 runtimeconfig.json 文件来确定用于应用程序的运行时。Elastic Beanstalk 选择可用于应用程序的最新兼容运行时。

自包含应用程序包含 .NET Core 运行时、您的应用程序及其依赖项。要使用 Elastic Beanstalk 平台中未包含的 .NET Core 运行时版本,请提供自包含应用程序。

示例

您可以使用 dotnet publish 命令编译自包含应用程序和运行时依赖应用程序。有关如何发布 .NET Core 应用程序的更多信息,请参阅 .NET Core 文档中的 .NET Core 应用程序发布概述

以下示例文件结构定义了使用 Elastic Beanstalk 提供的 .NET Core 运行时的单个应用程序。

├── appsettings.Development.json ├── appsettings.json ├── dotnetcoreapp.deps.json ├── dotnetcoreapp.dll ├── dotnetcoreapp.pdb ├── dotnetcoreapp.runtimeconfig.json ├── web.config ├── Procfile ├── .ebextensions ├── .platform

您可以在源代码包中包含多个应用程序。以下示例定义了在同一 Web 服务器上运行的两个应用程序。要运行多个应用程序,您必须在源代码包中包含 Procfile。如需查看完整的示例应用程序,请参见 dotnet-core-linux-multiple-apps.zip

├── DotnetMultipleApp1 │   ├── Amazon.Extensions.Configuration.SystemsManager.dll │   ├── appsettings.Development.json │   ├── appsettings.json │   ├── AWSSDK.Core.dll │   ├── AWSSDK.Extensions.NETCore.Setup.dll │   ├── AWSSDK.SimpleSystemsManagement.dll │   ├── DotnetMultipleApp1.deps.json │   ├── DotnetMultipleApp1.dll │   ├── DotnetMultipleApp1.pdb │   ├── DotnetMultipleApp1.runtimeconfig.json │   ├── Microsoft.Extensions.PlatformAbstractions.dll │   ├── Newtonsoft.Json.dll │   └── web.config ├── DotnetMultipleApp2 │   ├── Amazon.Extensions.Configuration.SystemsManager.dll │   ├── appsettings.Development.json │   ├── appsettings.json │   ├── AWSSDK.Core.dll │   ├── AWSSDK.Extensions.NETCore.Setup.dll │   ├── AWSSDK.SimpleSystemsManagement.dll │   ├── DotnetMultipleApp2.deps.json │   ├── DotnetMultipleApp2.dll │   ├── DotnetMultipleApp2.pdb │   ├── DotnetMultipleApp2.runtimeconfig.json │   ├── Microsoft.Extensions.PlatformAbstractions.dll │   ├── Newtonsoft.Json.dll │   └── web.config ├── Procfile ├── .ebextensions ├── .platform