

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

# 捆绑适用于 .NET Core on Linux Elastic Beanstalk 平台的应用程序
<a name="dotnet-linux-platform-bundle-app"></a>

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

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

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

## 示例
<a name="dotnet-linux-platform-bundle-app-examples"></a>

您可以使用 `dotnet publish` 命令编译自包含应用程序和运行时依赖应用程序。有关如何发布 .NET Core 应用程序的更多信息，请参阅 .NET Core 文档中的 [.NET Core 应用程序发布概述](https://docs.microsoft.com/en-us/dotnet/core/deploying)。

以下示例文件结构定义了使用 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-linux-procfile.md)。有关完整的示例应用程序，请参阅 [dotnet-core-linux-multiple-apps.zip](samples/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
```