Blazor + ElectronNETを試してみる

.Net Coreとデスクトップアプリ

.Net Coreの登場でクロスプラットフォームの開発に.Netの選択肢が増えました。だが残念ながら.Net Core単体ではMacやLinuxでも動くデスクトップアプリを作ることができません(2019年12月現在)。

何か良い方法が何か調べていたら「ElectronNET」というElectronの.Net版があることを知りました。これは試す価値ありです 🙂

環境

  • Windows 10 pro
  • .Net Core 3.1
  • Visual Studio 2019
  • C#
  • Node 12.14.0
  • Npm 6.13.4

プロジェクトの作成

単純なWebアプリケーションでも良かったのですが、せっかくなのでBlazorを使ってみることにします。
visual studio 2019を起動して、「新しいプロジェクトの作成」から「Blazorアプリ」を選択します。

※以降は公式の手順とほぼ同じになります。公式ページを見ながら読むことをお勧めします。

ElectronNET.APIのインストール

プロジェクトの作成が完了したら、「NuGet パッケージの管理」から「ElectronNET.API」をインストールします。ちなみにインストールしたバージョンは「7.30.2」でした。

Program.cs

ElectroNET.APIを使用するために「Program.cs」に以下の一文を追加します。
※ using で ElectroNET.API の参照追加も忘れずに

webBuilder.UseElectron(args);

Startup.cs

次に「Startup.cs」に以下の一文を追加します。

Task.Run(async () => await ElectronNET.API.Electron.WindowManager.CreateWindowAsync());

Electron用にプロジェクトを初期化

プロジェクトをElectron用のプロジェクトに変換するため、以下を行います。

Visual Studio 2019を閉じる

一度Visual Studioを閉じます。閉じずに以降の作業を行うと、せっかくインストールした「ElectronNET.API」がプロジェクトから消えてしまいます。

ElectronNETT.CLIのインストール

コマンドプロンプトを起動して、以下のコマンドを実行します。

dotnet tool install ElectronNET.CLI -g

初期化

コマンドプロンプト上にてVisual Studioで作成したプロジェクトのフォルダに移動します。
※csprojファイルがあるフォルダ

移動後、以下のコマンドを実行します。

electronize init

アプリケーションの起動

再度 Visual Studio を起動し、作成したプロジェクトを開きます。すると起動ボタンに「Electron.NET App」と表示されるようになります。

あとは起動ボタンを押すと、無事Electron上でBlazor画面が表示されました 🙂

あとがき

Mac上でもほぼ上記と同じ手順でElectronNet + Blazorアプリを起動することができました。注意点としては、現時点ではVisual Studio 2019 for Macのプレビュー版を使用しないといけないことくらいです。
※プレビュー版じゃないとBlazorプロジェクトが作成できない為

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA