Azure App Service に ASP.NET Core アプリを展開するDeploy ASP.NET Core apps to Azure App Service

Azure App Service は ASP.NET Core を含む Web アプリをホストするための Microsoft クラウド コンピューティング プラットフォーム サービスです。Azure App Service is a Microsoft cloud computing platform service for hosting web apps, including ASP.NET Core.

役に立つリソースUseful resources

App Service のドキュメント」は、Azure アプリのドキュメント、チュートリアル、サンプル、ハウツー ガイド、その他のリソースのホームです。App Service Documentation is the home for Azure Apps documentation, tutorials, samples, how-to guides, and other resources. ASP.NET Core アプリのホスティングに関連する次の 2 つのチュートリアルは特に重要です。Two notable tutorials that pertain to hosting ASP.NET Core apps are:

Azure に ASP.NET Core Web アプリを作成するCreate an ASP.NET Core web app in Azure
Visual Studio を使用して ASP.NET Core Web アプリを作成し、Windows の Azure App Service に配置します。Use Visual Studio to create and deploy an ASP.NET Core web app to Azure App Service on Windows.

App Service on Linux で ASP.NET Core アプリを作成するCreate an ASP.NET Core app in App Service on Linux
コマンド ラインを使用して ASP.NET Core Web アプリを作成し、Linux の Azure App Service に配置します。Use the command line to create and deploy an ASP.NET Core web app to Azure App Service on Linux.

Azure App Service で利用可能な ASP.NET Core のバージョンについては、「App Service ダッシュボードの ASP.NET Core」を参照してください。See the ASP.NET Core on App Service Dashboard for the version of ASP.NET Core available on Azure App service.

Azure App Service のお知らせリポジトリをサブスクライブして、イシューを監視します。Subscribe to the App Service Announcements repository and monitor the issues. App Service チームは、App Service に届いたお知らせやシナリオを定期的に投稿しています。The App Service team regularly posts announcements and scenarios arriving in App Service.

ASP.NET Core のドキュメントでは、次の記事を参照できます。The following articles are available in ASP.NET Core documentation:

Visual Studio を使用して Azure に ASP.NET Core アプリを発行する
Visual Studio を使用して Azure App Service に ASP.NET Core アプリを発行する方法を説明します。Learn how to publish an ASP.NET Core app to Azure App Service using Visual Studio.

Visual Studio および Git と ASP.NET Core を組み合わせた Azure への継続的配置
Visual Studio で ASP.NET Core Web アプリを作成し、それを Azure App Service に配置する方法について説明します。Git を利用し、継続的に配置します。Learn how to create an ASP.NET Core web app using Visual Studio and deploy it to Azure App Service using Git for continuous deployment.

最初のパイプラインを作成するCreate your first pipeline
ASP.NET Core アプリ用に CI ビルドを設定し、Azure App Service に継続的配置リリースを作成します。Set up a CI build for an ASP.NET Core app, then create a continuous deployment release to Azure App Service.

Azure Web アプリのサンドボックスAzure Web App sandbox
Azure アプリのプラットフォームで適用される Azure App Service ランタイム実行の制限事項について説明します。Discover Azure App Service runtime execution limitations enforced by the Azure Apps platform.

ASP.NET Core プロジェクトのトラブルシューティングとデバッグ
ASP.NET Core プロジェクトでの警告とエラーについて説明し、トラブルシューティングを行います。Understand and troubleshoot warnings and errors with ASP.NET Core projects.

アプリケーション構成Application configuration

プラットフォームPlatform

A シリーズ コンピューティング (Basic) 以上のホスティング階層でホストされているアプリに対して、App Services アプリのプラットフォーム アーキテクチャ (x86/x64) を Azure portal のアプリの設定で設定できます。The platform architecture (x86/x64) of an App Services app is set in the app's settings in the Azure Portal for apps that are hosted on an A-series compute (Basic) or higher hosting tier. アプリの発行の設定 (たとえば、Visual Studio 発行プロファイル (.pubxml)) が、Azure portal におけるそのアプリのサービス構成の設定と一致していることを確認します。Confirm that the app's publish settings (for example, in the Visual Studio publish profile (.pubxml)) match the setting in the app's service configuration in the Azure Portal.

64 ビット (x64) と 32 ビット (x86) アプリ用のランタイムは、Azure App Service 上に存在します。Runtimes for 64-bit (x64) and 32-bit (x86) apps are present on Azure App Service. App Service で使用できる .NET Core SDK は 32 ビットですが、Kudu コンソールまたは Visual Studio の発行プロセスを使用すれば、ローカルでビルドされた 64 ビット アプリを展開できます。The .NET Core SDK available on App Service is 32-bit, but you can deploy 64-bit apps built locally using the Kudu console or the publish process in Visual Studio. 詳細については、「アプリを発行および配置する」セクションを参照してください。For more information, see the Publish and deploy the app section.

ネイティブの依存関係を含むアプリのため、32 ビット (x86) アプリ用のランタイムが Azure App Service 上に存在します。For apps with native dependencies, runtimes for 32-bit (x86) apps are present on Azure App Service. App Service で使用できる .NET Core SDK は 32 ビットです。The .NET Core SDK available on App Service is 32-bit.

.Net Core ランタイムおよび .NET Core SDK に関する情報など、.NET Core フレームワーク コンポーネントおよび配布メソッドの詳細については、.NET Core: コンポジションに関するページを参照してください。For more information on .NET Core framework components and distribution methods, such as information on the .NET Core runtime and the .NET Core SDK, see About .NET Core: Composition.

パッケージPackages

次の NuGet パッケージを、Azure App Service にデプロイされたアプリ用の自動ログ記録機能を提供するために含めます。Include the following NuGet packages to provide automatic logging features for apps deployed to Azure App Service:

上記のパッケージは、Microsoft.AspNetCore.App メタパッケージからは使用できません。The preceding packages aren't available from the Microsoft.AspNetCore.App metapackage. .NET Framework を対象とする、または Microsoft.AspNetCore.App メタパッケージを参照するアプリは、アプリのプロジェクト ファイル内の個々 のパッケージを明示的に参照する必要があります。Apps that target .NET Framework or reference the Microsoft.AspNetCore.App metapackage must explicitly reference the individual packages in the app's project file.

Azure Portal を使用してアプリの構成をオーバーライドするOverride app configuration using the Azure Portal

Azure Portal のアプリの設定により、アプリの環境変数の設定が許可されます。App settings in the Azure Portal permit you to set environment variables for the app. 環境変数は、環境変数構成プロバイダーで使用できます。Environment variables can be consumed by the Environment Variables Configuration Provider.

Azure Portal でアプリの設定が作成または変更され、 [保存] ボタンが選択された場合、Azure アプリは再起動されます。When an app setting is created or modified in the Azure Portal and the Save button is selected, the Azure App is restarted. 環境変数は、サービスが再起動された後にアプリに適用されます。The environment variable is available to the app after the service restarts.

アプリで汎用ホストを使用する場合、ホストをビルドするために CreateDefaultBuilder が呼び出されると、環境変数がアプリの構成に読み込まれます。When an app uses the Generic Host, environment variables are loaded into the app's configuration when CreateDefaultBuilder is called to build the host. 詳細については、ASP.NET Core の .NET 汎用ホスト および「Environment Variables Configuration Provider」(環境変数構成プロバイダー) をご覧ください。For more information, see ASP.NET Core の .NET 汎用ホスト and the Environment Variables Configuration Provider.

Azure Portal のアプリの設定により、アプリの環境変数の設定が許可されます。App settings in the Azure Portal permit you to set environment variables for the app. 環境変数は、環境変数構成プロバイダーで使用できます。Environment variables can be consumed by the Environment Variables Configuration Provider.

Azure Portal でアプリの設定が作成または変更され、 [保存] ボタンが選択された場合、Azure アプリは再起動されます。When an app setting is created or modified in the Azure Portal and the Save button is selected, the Azure App is restarted. 環境変数は、サービスが再起動された後にアプリに適用されます。The environment variable is available to the app after the service restarts.

アプリで Web ホストを使用する場合、ホストをビルドするために CreateDefaultBuilder が呼び出されると、環境変数がアプリの構成に読み込まれます。When an app uses the Web Host, environment variables are loaded into the app's configuration when CreateDefaultBuilder is called to build the host. 詳細については、ASP.NET Core の Web ホスト および「Environment Variables Configuration Provider」(環境変数構成プロバイダー) をご覧ください。For more information, see ASP.NET Core の Web ホスト and the Environment Variables Configuration Provider.

プロキシ サーバーとロード バランサーのシナリオProxy server and load balancer scenarios

要求が発生したスキーム (HTTP/HTTPS) とリモート IP アドレスを転送するために、アウトプロセスをホストするときに Forwarded Headers Middleware を構成する IIS 統合ミドルウェアと、ASP.NET Core モジュールが構成されます。The IIS Integration Middleware, which configures Forwarded Headers Middleware when hosting out-of-process, and the ASP.NET Core Module are configured to forward the scheme (HTTP/HTTPS) and the remote IP address where the request originated. 追加のプロキシ サーバーとロード バランサーの背後でホストされているアプリでは、追加の構成が必要になる場合があります。Additional configuration might be required for apps hosted behind additional proxy servers and load balancers. 詳細については、「プロキシ サーバーとロード バランサーを使用するために ASP.NET Core を構成する」を参照してください。For more information, see Configure ASP.NET Core to work with proxy servers and load balancers.

監視およびログ記録Monitoring and logging

App Service にデプロイされる ASP.NET Core アプリは、App Service の拡張機能、ASP.NET Core ログ記録の統合を自動的に受け取ります。ASP.NET Core apps deployed to App Service automatically receive an App Service extension, ASP.NET Core Logging Integration. 拡張機能は、Azure App Service での ASP.NET Core アプリの統合のログ記録を有効にします。The extension enables logging integration for ASP.NET Core apps on Azure App Service.

App Service にデプロイされる ASP.NET Core アプリは、App Service の拡張機能、ASP.NET Core ログ記録の拡張機能を自動的に受け取ります。ASP.NET Core apps deployed to App Service automatically receive an App Service extension, ASP.NET Core Logging Extensions. 拡張機能は、Azure App Service での ASP.NET Core アプリの統合のログ記録を有効にします。The extension enables logging integration for ASP.NET Core apps on Azure App Service.

監視、ログ記録、トラブルシューティングに関する情報は、次の記事を参照してください。For monitoring, logging, and troubleshooting information, see the following articles:

Azure App Service でアプリを監視するMonitor apps in Azure App Service
アプリと App Service プランに関するクォータとメトリックを確認する方法を説明します。Learn how to review quotas and metrics for apps and App Service plans.

Azure App Service のアプリの診断ログの有効化Enable diagnostics logging for apps in Azure App Service
HTTP 状態コード、失敗した要求、Web サーバー アクティビティの診断ログを有効にしてアクセスする方法を説明します。Discover how to enable and access diagnostic logging for HTTP status codes, failed requests, and web server activity.

ASP.NET Core のエラーを処理する
ASP.NET Core アプリでエラーを処理するための一般的な手法について理解します。Understand common approaches to handling errors in ASP.NET Core apps.

Azure App Service および IIS での ASP.NET Core のトラブルシューティング
ASP.NET Core アプリを使用した Azure App Service の配置に関する問題を診断する方法を説明します。Learn how to diagnose issues with Azure App Service deployments with ASP.NET Core apps.

ASP.NET Core を使用した Azure App Service および IIS の一般的なエラーのリファレンス
Azure App Service/IIS によってホストされるアプリの一般的な配置の構成エラーのトラブルシューティングに関するアドバイスを参照してください。See the common deployment configuration errors for apps hosted by Azure App Service/IIS with troubleshooting advice.

データ保護キー リングとデプロイ スロットData Protection key ring and deployment slots

データ保護キー%HOME%\ASP.NET\DataProtection-Keys フォルダーに保存されます。Data Protection keys are persisted to the %HOME%\ASP.NET\DataProtection-Keys folder. このフォルダーはネットワーク ストレージにバックアップされ、アプリをホストしているすべてのマシンで同期されています。This folder is backed by network storage and is synchronized across all machines hosting the app. 保存中のキーは保護されていません。Keys aren't protected at rest. このフォルダーから、単一のデプロイ スロットのアプリのすべてのインスタンスにキー リングが提供されます。This folder supplies the key ring to all instances of an app in a single deployment slot. ステージングや運用などの別のデプロイ スロットでは、キー リングが共有されません。Separate deployment slots, such as Staging and Production, don't share a key ring.

デプロイ スロットを切り替えると、データ保護を使用しているすべてのシステムが前のスロット内のキー リングを使用して格納されたデータを復号化できなくなります。When swapping between deployment slots, any system using data protection won't be able to decrypt stored data using the key ring inside the previous slot. ASP.NET Cookie ミドルウェアは、その cookie の保護にデータ保護を使用します。ASP.NET Cookie Middleware uses data protection to protect its cookies. これにより、ユーザーが標準の ASP.NET Cookie ミドルウェアを使用するアプリからサインアウトします。This leads to users being signed out of an app that uses the standard ASP.NET Cookie Middleware. スロットに依存しないキー リング ソリューションの場合、次のような外部キー リング プロバイダーを使用します。For a slot-independent key ring solution, use an external key ring provider, such as:

  • Azure Blob StorageAzure Blob Storage
  • Azure Key VaultAzure Key Vault
  • SQL ストアSQL store
  • Redis CacheRedis cache

詳細については、「ASP.NET Core のキー記憶域プロバイダー」を参照してください。For more information, see ASP.NET Core のキー記憶域プロバイダー.

.NET Core プレビューを使用する ASP.NET Core アプリをデプロイするDeploy an ASP.NET Core app that uses a .NET Core preview

.NET Core のプレビュー リリースを使用するアプリをデプロイするには、次のリソースを参照してください。To deploy an app that uses a preview release of .NET Core, see the following resources. また、ランタイムは使用できるが SDK が Azure App Service にインストールされていない場合にも、これらの方法を使うことができます。These approaches are also used when the runtime is available but the SDK hasn't been installed on Azure App Service.

Azure App Service で利用可能な ASP.NET Core のバージョンについては、「App Service ダッシュボードの ASP.NET Core」を参照してください。See the ASP.NET Core on App Service Dashboard for the version of ASP.NET Core available on Azure App service.

Azure Pipelines を使用して .NET Core SDK のバージョンを指定するSpecify the .NET Core SDK Version using Azure Pipelines

Azure App Service の CI/CD シナリオを使用して、Azure DevOps を使用した継続的インテグレーション ビルドを設定します。Use Azure App Service CI/CD scenarios to set up a continuous integration build with Azure DevOps. Azure DevOps ビルドが作成されたら、必要に応じて、特定の SDK バージョンを使うようにビルドを構成します。After the Azure DevOps build is created, optionally configure the build to use a specific SDK version.

.NET Core SDK のバージョンを指定するSpecify the .NET Core SDK version

App Service デプロイ センターを使用して Azure DevOps ビルドを作成する場合、既定のビルド パイプラインには RestoreBuildTest、および Publish のためのステップが含まれています。When using the App Service deployment center to create an Azure DevOps build, the default build pipeline includes steps for Restore, Build, Test, and Publish. SDK のバージョンを指定するには、エージェント ジョブの一覧で [追加] (+) ボタンを選択して、新しいステップを追加します。To specify the SDK version, select the Add (+) button in the Agent job list to add a new step. 検索バーで「 .NET Core SDK」を検索します。Search for .NET Core SDK in the search bar.

.NET Core SDK のステップを追加する

このステップをビルドの先頭に移動し、これに続くステップで指定したバージョンの .NET Core SDK が使われるようにします。Move the step into the first position in the build so that the steps following it use the specified version of the .NET Core SDK. .NET Core SDK のバージョンを指定します。Specify the version of the .NET Core SDK. この例では、SDK は 3.0.100 に設定されています。In this example, the SDK is set to 3.0.100.

完了した SDK のステップ

自己完結型のデプロイ (SCD) を発行するには、Publish ステップで SCD を構成し、ランタイム識別子 (RID) を指定します。To publish a self-contained deployment (SCD), configure SCD in the Publish step and provide the Runtime Identifier (RID).

自己完結型の発行

自己完結型のプレビュー アプリを展開するDeploy a self-contained preview app

プレビュー ランタイムを対象とする自己完結型の展開 (SCD) では、展開でプレビュー ランタイムを保持します。A self-contained deployment (SCD) that targets a preview runtime carries the preview runtime in the deployment.

自己完結型アプリを展開する場合:When deploying a self-contained app:

自己完結型アプリを展開する」セクションのガイダンスに従ってください。Follow the guidance in the Deploy the app self-contained section.

コンテナー用の Web アプリで Docker を使用するUse Docker with Web Apps for containers

Docker Hub には最新のプレビュー Docker イメージが含まれています。The Docker Hub contains the latest preview Docker images. イメージを基本イメージとして使用できます。The images can be used as a base image. 通常は、イメージを使用して、Web App for Containers に展開します。Use the image and deploy to Web Apps for Containers normally.

プレビュー サイト拡張機能をインストールするInstall the preview site extension

プレビュー サイト拡張機能の使用に関する問題が発生した場合は、dotnet/AspNetCore issue を作成してください。If a problem occurs using the preview site extension, open an dotnet/AspNetCore issue.

  1. Azure Portal から App Service に移動します。From the Azure Portal, navigate to the App Service.
  2. Web アプリを選択します。Select the web app.
  3. 検索ボックスに「拡張」と入力して "拡張機能" にフィルターするか、管理ツールの一覧をスクロール ダウンします。Type "ex" in the search box to filter for "Extensions" or scroll down the list of management tools.
  4. [拡張機能] を選びます。Select Extensions.
  5. [追加] を選びます。Select Add.
  6. [ASP.NET Core {X.Y} ({x64|x86}) ランタイム] の拡張機能を一覧から選択します。{X.Y} は ASP.NET Core のプレビュー バージョンで、{x64|x86} はプラットフォームを指定します。Select the ASP.NET Core {X.Y} ({x64|x86}) Runtime extension from the list, where {X.Y} is the ASP.NET Core preview version and {x64|x86} specifies the platform.
  7. [OK] を選んで法的条項に同意します。Select OK to accept the legal terms.
  8. [OK] を選択し、拡張機能をインストールします。Select OK to install the extension.

操作が完了すると、最新の .NET Core プレビューがインストールされます。When the operation completes, the latest .NET Core preview is installed. 次のようにしてインストールを検証します。Verify the installation:

  1. [高度なツール] を選択します。Select Advanced Tools.

  2. [高度なツール][移動] を選択します。Select Go in Advanced Tools.

  3. [デバッグ コンソール] > [PowerShell] のメニュー項目を選択します。Select the Debug console > PowerShell menu item.

  4. PowerShell のプロンプトで次のコマンドを実行します。At the PowerShell prompt, execute the following command. コマンドの {X.Y} を ASP.NET Core ランタイム バージョンに、{PLATFORM} をプラットフォームに置き換えます。Substitute the ASP.NET Core runtime version for {X.Y} and the platform for {PLATFORM} in the command:

    Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.{PLATFORM}\
    

    x64 プレビューのランタイムがインストールされていると、コマンドで True が返されます。The command returns True when the x64 preview runtime is installed.

注意

A シリーズ コンピューティング (Basic) 以上のホスティング階層でホストされているアプリに対して、App Services アプリのプラットフォーム アーキテクチャ (x86/x64) を Azure portal のアプリの設定で設定できます。The platform architecture (x86/x64) of an App Services app is set in the app's settings in the Azure Portal for apps that are hosted on an A-series compute (Basic) or higher hosting tier. アプリの発行の設定 (たとえば、Visual Studio 発行プロファイル (.pubxml)) が、Azure portal におけるそのアプリのサービス構成の設定と一致していることを確認します。Confirm that the app's publish settings (for example, in the Visual Studio publish profile (.pubxml)) match the setting in the app's service configuration in the Azure portal.

アプリがインプロセス モードで実行されていて、プラットフォーム アーキテクチャが 64 ビット (x64) 向けに構成されている場合は、ASP.NET Core モジュールで 64 ビット プレビュー ランタイム (ある場合) が使用されます。If the app is run in in-process mode and the platform architecture is configured for 64-bit (x64), the ASP.NET Core Module uses the 64-bit preview runtime, if present. Azure portal を使って、ASP.NET Core {X.Y} (x64) ランタイムの拡張機能をインストールします。Install the ASP.NET Core {X.Y} (x64) Runtime extension using the Azure Portal.

x64 プレビュー ランタイムをインストールしたら、Azure Kudu PowerShell コマンド ウィンドウで次のコマンドを実行して、インストールを確認します。After installing the x64 preview runtime, run the following command in the Azure Kudu PowerShell command window to verify the installation. 次のコマンドの {X.Y} を、ASP.NET Core ランタイム バージョンに置き換えてください。Substitute the ASP.NET Core runtime version for {X.Y} in the following command:

Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64\

x64 プレビューのランタイムがインストールされていると、コマンドで True が返されます。The command returns True when the x64 preview runtime is installed.

注意

ASP.NET Core 拡張機能によって、たとえば Azure のログ記録など、Azure App Services での ASP.NET Core の追加機能が有効になります。ASP.NET Core Extensions enables additional functionality for ASP.NET Core on Azure App Services, such as enabling Azure logging. この拡張機能は、Visual Studio からデプロイするときに自動的にインストールされます。The extension is installed automatically when deploying from Visual Studio. 拡張機能がインストールされていない場合は、アプリにインストールします。If the extension isn't installed, install it for the app.

ARM テンプレートでプレビュー サイト拡張機能を使用するUse the preview site extension with an ARM template

ARM テンプレートを使用してアプリを作成し、展開する場合は、リソースの種類として siteextensions を使用してサイト拡張機能を Web アプリに追加することができます。If an ARM template is used to create and deploy apps, the siteextensions resource type can be used to add the site extension to a web app. 次に例を示します。For example:

{
    ...
    "parameters": {
        "site_name": {
            "defaultValue": "{SITE NAME}",
            "type": "String"
        },
        ...
    },       
    ...
    "resources": [
        ...
        {
            "type": "Microsoft.Web/sites/siteextensions",
            "apiVersion": "2018-11-01",
            "name": "[concat(parameters('site_name'), '/AspNetCoreRuntime.5.0.x64')]",
            "location": "[resourceGroup().location]",
            "dependsOn": [
                "[resourceId('Microsoft.Web/sites', parameters('site_name'))]"
            ]
        }
    ]
}
    

アプリを発行および配置するPublish and deploy the app

64 ビット配置の場合:For a 64-bit deployment:

  • 64 ビットのアプリをビルドするには、64 ビットの .NET Core SDK を使用します。Use a 64-bit .NET Core SDK to build a 64-bit app.
  • App Service の [構成] > [全般設定] で、 [プラットフォーム][64 ビット] に設定します。Set the Platform to 64 Bit in the App Service's Configuration > General settings. アプリでは、プラットフォームのビット数の選択を有効にするために、Basic 以上のサービス プランを使用する必要があります。The app must use a Basic or higher service plan to enable the choice of platform bitness.

フレームワークに依存するアプリを展開するDeploy the app framework-dependent

  1. Visual Studio ツールバーから [ビルド] > [発行 {アプリケーション名}] を選択するか、ソリューション エクスプローラーでプロジェクトを右クリックして、 [発行] を選択します。Select Build > Publish {Application Name} from the Visual Studio toolbar or right-click the project in Solution Explorer and select Publish.
  2. [発行先を選択] ダイアログで、 [App Service] が選択されていることを確認します。In the Pick a publish target dialog, confirm that App Service is selected.
  3. [詳細] を選択します。Select Advanced. [発行] ダイアログが開きます。The Publish dialog opens.
  4. [発行] ダイアログで、次の操作を行います。In the Publish dialog:
    • [リリース] の構成が選択されていることを確認します。Confirm that the Release configuration is selected.
    • [展開モード] ドロップダウン リストを開き、 [フレームワーク依存] を選択します。Open the Deployment Mode drop-down list and select Framework-Dependent.
    • [ターゲット ランタイム] として [ポータブル] を選択します。Select Portable as the Target Runtime.
    • 展開時に追加のファイルを削除する場合、 [ファイル発行オプション] を開いて、転送先で追加のファイルを削除するチェック ボックスを選択します。If you need to remove additional files upon deployment, open File Publish Options and select the check box to remove additional files at the destination.
    • [保存] を選択します。Select Save.
  5. 発行ウィザードの残りのメッセージに従って、新しいサイトを作成するか、既存のサイトを更新します。Create a new site or update an existing site by following the remaining prompts of the publish wizard.

自己完結型アプリを展開するDeploy the app self-contained

自己完結型の展開 (SCD) には、Visual Studio または .NET Core CLI を使用します。Use Visual Studio or the .NET Core CLI for a self-contained deployment (SCD).

  1. Visual Studio ツールバーから [ビルド] > [発行 {アプリケーション名}] を選択するか、ソリューション エクスプローラーでプロジェクトを右クリックして、 [発行] を選択します。Select Build > Publish {Application Name} from the Visual Studio toolbar or right-click the project in Solution Explorer and select Publish.
  2. [発行先を選択] ダイアログで、 [App Service] が選択されていることを確認します。In the Pick a publish target dialog, confirm that App Service is selected.
  3. [詳細] を選択します。Select Advanced. [発行] ダイアログが開きます。The Publish dialog opens.
  4. [発行] ダイアログで、次の操作を行います。In the Publish dialog:
    • [リリース] の構成が選択されていることを確認します。Confirm that the Release configuration is selected.
    • [展開モード] ドロップダウン リストを開いて、 [自己完結] を選択します。Open the Deployment Mode drop-down list and select Self-Contained.
    • [ターゲット ランタイム] ドロップダウン リストからターゲット ランタイムを選択します。Select the target runtime from the Target Runtime drop-down list. 既定値は、win-x86 です。The default is win-x86.
    • 展開時に追加のファイルを削除する場合、 [ファイル発行オプション] を開いて、転送先で追加のファイルを削除するチェック ボックスを選択します。If you need to remove additional files upon deployment, open File Publish Options and select the check box to remove additional files at the destination.
    • [保存] を選択します。Select Save.
  5. 発行ウィザードの残りのメッセージに従って、新しいサイトを作成するか、既存のサイトを更新します。Create a new site or update an existing site by following the remaining prompts of the publish wizard.

プロトコル設定 (HTTPS)Protocol settings (HTTPS)

セキュリティで保護されたプロトコル バインディングを使うと、HTTPS 経由で要求に応答するときに使用する証明書を指定できます。Secure protocol bindings allow you specify a certificate to use when responding to requests over HTTPS. バインディングには、特定のホスト名に向けて発行された有効なプライベート証明書 ( .pfx) が必要です。Binding requires a valid private certificate (.pfx) issued for the specific hostname. 詳しくは、「チュートリアル: 既存のカスタム SSL 証明書を Azure App Service にバインドする」をご覧ください。For more information, see Tutorial: Bind an existing custom SSL certificate to Azure App Service.

web.config を変換するTransform web.config

発行時に web.config を変換する必要がある場合 (たとえば、構成、プロファイル、環境に基づいて環境変数を設定する場合) は、web.config を変換する を参照してください。If you need to transform web.config on publish (for example, set environment variables based on the configuration, profile, or environment), see web.config を変換する.

その他の技術情報Additional resources

Windows Server の Azure App Service ではインターネット インフォメーション サービス (IIS) が使用されます。Azure App Service on Windows Server uses Internet Information Services (IIS). 次のトピックは、基になる IIS テクノロジと関連しています。The following topics pertain to the underlying IIS technology: