Blazorアプリの公開
作成したBlazorアプリは、Viaul Studio上から実行するだけでなく、もちろん単体のアプリとして実行することができます。また、ローカル環境はもちろん、クラウドなどの外部環境のWebサーバーにアプリを配置(公開)し、それをブラウザで実行することもできます。
この連載3回目までのBlazor単体のアプリでは、一般的なWebサーバーであれば、どのような環境でも配置でき、ブラウザで実行が可能です。一方今回のようなASP.NET Coreでホストされたアプリの場合は、当然ながらASP.NET Coreのランタイムがインストールされているサーバー環境が必要となります。また、ASP.NET Coreで動作するAPI部分も、ローカルではなくサーバー上で実行されることになります。
プロジェクトの発行(フォルダー)
アプリを公開するには、Viaul Studioの「発行」という機能を利用します。ソリューションエクスプローラーでプロジェクトを選び、右クリックで表示されるメニューから[発行]を選択します。ASP.NET Coreでホストされたプロジェクトでは、〜.Serverプロジェクトのみ選択します。それだけで、〜.Clientプロジェクトもいっしょに発行されます。
![ターゲットの設定](http://cz-cdn.shoeisha.jp/static/images/article/14382/14382_1.png)
発行する先は、Microsoft Azureや、Docker、フォルダーなどが選択できます。今回はまず、ローカルフォルダーに発行してみます。表示された「公開」ダイアログで、[フォルダー]項目を選択して[次へ]をクリックします。次に、出力先の設定をすると準備は完了です。
次に表示される画面の右上にある[発行]ボタンを押すと、実際にファイルが書き出されます。なお、今回のアプリでは、CSVファイルとXSLTファイルをプロジェクトに追加しています。これらのファイルも出力されるように、2つのファイルのプロパティの詳細設定で、「出力ディレクトリにコピー」の設定を「常にコピーする」または「新しい場合にコピーする」に変更しておきます。
アプリの実行
Widnowsのローカル環境であれば、発行処理の出力先に作成された、~.Server.exeというファイルを実行するだけです。これでASP.NET Coreに組み込まれたWebサーバーが起動します。
外部サーバーの場合も基本的には同様です。サーバーがLinux環境なら、発行されたフォルダー(プロジェクトのbin\Release\net5.0\publish\など)をまるごとサーバーにアップロードし、dotnetコマンドで、そのフォルダー内の~.Server.dllファイルを指定するだけです。
Microsoft Azureへの公開
Viaul Studioから、アプリを直接Microsoft Azureに配置することもできます。次に、Azure Web Appsにデプロイしてみます。
先ほどの、メニューから「公開」を選択して表示された公開のダイアログで、ターゲットにAzureを選び、次に特定のターゲットとして、Azure App Service(Windows)を選択します。
![特定のターゲットの設定](http://cz-cdn.shoeisha.jp/static/images/article/14382/14382_2.png)
そして、Azure App Serviceの既存のインスタンスを選択するか、新規作成して設定します。
![Azure App Serviceの指定](http://cz-cdn.shoeisha.jp/static/images/article/14382/14382_3.png)
その後、「発行」のボタンをクリックすれば、Azure App Serviceに作成されます。
![Visual Studioでの発行](http://cz-cdn.shoeisha.jp/static/images/article/14382/14382_3.png)
最後に
ASP.NET Core Blazorチュートリアルの連載、いかがでしたでしょうか。今回を持って、連載は、いったん終了となります。このチュートリアル記事が皆様のアプリ開発の一助となれば幸いです。