01-01 Electron + dotnet 5 Blazor + ElectronNET.API创建桌面程序

25 篇文章 2 订阅

前言

随着.net core 的发布,C# 实现了跨平台,但是截至2021年1月22日,基于.net core构建的桌面程序如WPF,WinForm还是无法实现跨平台运行,所以可以构建web项目结合Electron来构可以跨平台运行的桌面程序,本文使用Electron结合Blazor AppElectron.NET类库构建桌面应用。

一、开发环境

1、安装Node.js
2、切换淘宝镜像源

npm config set registry http://registry.npm.taobao.org/

在这里插入图片描述
3、全局安装安装Electron

npm install electron -g

4、安装.Net 5 SDK
5、全局安装安装ElectronNET.CLI

dotnet tool install ElectronNET.CLI -g

二、创建项目

1、创建Blazor 应用,注意项目名不要使用Electron做命名空间,会造成命名空间冲突
在这里插入图片描述
选第一个,.net 版本选择.net 5
在这里插入图片描述
2、安装ElectronNET.API
(1)使用命令安装

PM> Install-Package ElectronNET.API

在这里插入图片描述

(2)使用NuGet包管理器安装
在这里插入图片描述

3、如果不是全局安装的ElectronNET.CLI就需要在项目中注册ElectronNET.API

<ItemGroup>
	<DotNetCliToolReference Include="ElectronNET.CLI" Version="0.0.9" />
</ItemGroup>

在这里插入图片描述
4、初始化,在项目根目录下运行下面脚本

electronize init

在这里插入图片描述
在这里插入图片描述

5、在程序中添加使用Electron
(1)修改Program.cs

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseElectron(args);
            webBuilder.UseStartup<Startup>();
        });

在这里插入图片描述
(2)修改Startup.cs,在Configure方法中添加下面代码

Task.Run(async () =>
{
    var window = await Electron.WindowManager.CreateWindowAsync(
			    new BrowserWindowOptions
			    {
			        HasShadow = true,
			        AutoHideMenuBar = true, //自动隐藏菜单栏
			        Fullscreenable = true
			    });
   window.SetTitle("Blazor Demo App");
});

在这里插入图片描述

三、启动项目

(1)命令启动,在程序根目录下运行以下脚本,过程中会下载nodejs依赖,成功与否取决于当前网络。

electronize start

在这里插入图片描述
(2)VS 启动,效果相同
在这里插入图片描述

四、构建项目

在项目根目录下运行以下脚本,构建成功之后就不用使用命令启动,可以直接双击exe文件启动,构建成功后的文件在\bin\Desktop目录下

  • windows平台:electronize build /target win
  • macOS 平台:electronize build /target osx
  • linux平台:electronize build /target linux
  • 指定平台架构:electronize build /target custom "win7-x86;win32" /electron-arch ia32

五、最终效果

在这里插入图片描述

注:升级 ElectronNET.CLI命令

dotnet tool update ElectronNET.CLI -g
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值