App ServiceへASP.NET CoreのWebアプリケーションを初めてVisual StudioでデプロイするときのWindowsとMacの違い

2023/1/29 追記

最初はVisual Studioからのデプロイが楽なように思えたけれど、AzureではGitHub Actions等の継続的デプロイが簡単に設定できるので、積極的に利用した方がいいと思います。

私はこれまでGitHub Actionsを利用したことがありませんでしたが、App Serviceのデプロイ センターを利用すると画面の指示どおりに選択、入力するだけで連携できとても楽に設定できました。

↑2023/1/29 追記ここまで
 

ASP.NET CoreのWebアプリケーションを作成しAzure App Serviceへ公開する時に、Windowsの場合、Visual Studioだけで完結できましたが、Macの場合は、Visual Studio for Macだけでは完結できませんでした。

発行後ブラウザでアプリへアクセスすると「Forbidden」画面が表示されました。

動作させるにはAzureポータルからApp Serviceの構成の「スタックの構成」を設定する必要がありました。

環境

Windows

Visual Studio Community 2022(Version 17.4.4)

Mac

Visual Studio for Mac(Version 17.4.3)

Webアプリの作成からApp Serviceへの発行までの手順

前提としてApp Service プランまではAzureポータルから作成済みです。

Windowsの場合もMacの場合も、テンプレートからASP.NET Core Webアプリを作成しAzureへ発行しているだけで、この時点での違いはありません。

Windows
  • Webアプリの作成

「新しいプロジェクトの作成」画面から「ASP.NET Core We アプリ」を選択し、フレームワークは「.NET 6.0」を選択。

それ以外はデフォルトで作成。

  • App Serviceへの発行

作成したプロジェクトを右クリックし「発行」を選択。

次に、発行先は事前に作成ずみのApp Service プランを選択し発行します。

デプロイが完了するとアプリの画面が表示されます。

Mac
  • Webアプリの作成

「新しいプロジェクト用のテンプレートを選択する」画面から「Web アプリケーション」を選択し、フレームワークは「.NET 6.0」を選択。

それ以外はデフォルトで作成。

  • App Serviceへの発行

作成したプロジェクトを右クリックし「公開」から「Azureに公開する」を選択。

次に、「Azure App Service に公開する」画面で「新規」を選択し、事前に作成ずみのApp Service プランを選択し発行します。

デプロイが完了するとアプリの画面が表示され……ませんでした。

Macで発行したApp Serviceの構成を変更

WindowsMacで作成、発行したApp Serviceの構成を確認したところ、WindowsのApp Serviceにはスタックの設定がされていましたが、Macの方にはされていませんでした。

Windowsで発行したApp Serviceの構成

Macで発行したApp Serviceの構成

Mac側のスタックの設定をWindowsと同じにしたところ、無事アプリの画面が表示されました。

また、再度MacVisual Studio for MacでAzureへ公開しようとしたところ、最初に公開したApp Serviceが選べませんでした。 もしかすると、Visual Studio for MacはAzureへの公開機能は完全に対応していないのかもしれません。