Electron.NET 项目教程
1. 项目的目录结构及介绍
Electron.NET 项目的目录结构如下:
Electron.NET/
├── src/
│ ├── ElectronNET.API/
│ ├── ElectronNET.CLI/
│ ├── ElectronNET.WebApp/
├── .gitignore
├── LICENSE
├── README.md
├── global.json
├── ElectronNET.sln
目录结构介绍
- src/: 包含项目的源代码。
- ElectronNET.API/: 提供与 Electron 交互的 API。
- ElectronNET.CLI/: 命令行工具,用于管理 Electron.NET 应用程序。
- ElectronNET.WebApp/: 示例 Web 应用程序,展示如何使用 Electron.NET。
- .gitignore: Git 忽略文件,指定不需要版本控制的文件和目录。
- LICENSE: 项目的开源许可证。
- README.md: 项目说明文档。
- global.json: 指定 .NET SDK 版本。
- ElectronNET.sln: 项目的解决方案文件。
2. 项目的启动文件介绍
Electron.NET 项目的启动文件位于 src/ElectronNET.WebApp/Program.cs
和 src/ElectronNET.WebApp/Startup.cs
。
Program.cs
using ElectronNET.API;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
namespace ElectronNET.WebApp
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseElectron(args)
.UseStartup<Startup>();
}
}
Startup.cs
using ElectronNET.API;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace ElectronNET.WebApp
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
if (HybridSupport.IsElectronActive)
{
CreateWindow();
}
}
private async void CreateWindow()
{
var window = await Electron.WindowManager.CreateWindowAsync();
window.OnClosed += () =>
{
Electron.App.Quit();
};
}
}
}
启动文件介绍
- Program.cs: 定义了应用程序的入口点,并配置了 WebHost。
- Startup.cs: 配置应用程序的服务和中间件,并在 Electron 环境下创建窗口。
3. 项目的配置文件介绍
Electron.NET 项目的配置文件主要包括 src/ElectronNET.WebApp/Properties/launchSettings.json
和 src/ElectronNET.WebApp/appsettings.json
。
launchSettings.json
{
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"ElectronNET.WebApp": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5