Electron.NET 迁移终极指南:从旧版本无缝升级到Electron.NET Core
Electron.NET Core 是 Electron.NET 项目的革命性升级,将 .NET Core 与 Electron 框架完美结合,让开发者能够使用 C#/.NET 来开发跨平台桌面应用程序。本指南将带您完成从旧版本到 Electron.NET Core 的无缝迁移过程,确保您的项目平稳过渡到现代化架构。
🚀 为什么需要迁移到 Electron.NET Core?
Electron.NET Core 带来了多项重大改进:
- 简化配置:告别复杂的 CLI 工具和 JSON 文件
- 更好调试:原生 Visual Studio 体验支持热重载
- 现代架构:.NET 优先的进程生命周期管理
- 跨平台就绪:直接从 Windows 构建 Linux 应用
- 未来保障:灵活的 Electron 版本选择
📋 迁移前准备清单
在开始迁移前,请确保:
- 备份项目:创建完整的工作备份
- 更新开发工具:安装 Node.js 22.x 和 .NET 8.0+
- 审查当前设置:记录当前的 Electron 和 ASP.NET 版本
🛠️ 五步完成迁移
第一步:更新 NuGet 包引用
卸载旧包:
dotnet remove package ElectronNET.API
安装新包:
dotnet add package ElectronNET.Core
dotnet add package ElectronNET.Core.AspNet # 适用于 ASP.NET 项目
注意:API 包作为
ElectronNET.Core的依赖项自动包含。详见 包结构说明。
第二步:配置项目设置
自动生成配置: ElectronNET.Core 在首次构建或 NuGet 恢复时自动创建 electron-builder.json。基本设置无需手动配置。
迁移现有配置: 如果您有现有的 electron.manifest.json 文件:
- 打开生成的
electron-builder.json文件 - 定位旧文件中的 'build' 部分
- 复制内容到新的配置文件中
- 删除旧的
electron.manifest.json文件
第三步:更新启动代码
更新 UseElectron() 调用以包含新的回调参数。此回调在适当时刻执行以初始化您的 Electron UI。
现代 ASP.NET Core (WebApplication):
using ElectronNET.API;
using ElectronNET.API.Entities;
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.UseElectron(args, ElectronAppReady);
var app = builder.Build();
app.Run();
}
public static async Task ElectronAppReady()
{
var browserWindow = await Electron.WindowManager.CreateWindowAsync(
new BrowserWindowOptions { Show = false });
browserWindow.OnReadyToShow += () => browserWindow.Show();
}
第四步:更新开发工具
确保所有开发工具都符合最新要求:
- Node.js 22.x 或更高版本
- .NET 8.0 SDK
- 更新的 TypeScript 编译器
第五步:更新调试设置
移除旧监视功能: 旧的 'watch' 功能不再受支持。改用新的 ASP.NET 优先调试与热重载:
- 旧方法:手动进程附加和缓慢刷新
- 新方法:原生 Visual Studio 调试与热重载
- 优势:更快的开发周期,更好的调试体验
🎯 迁移后测试清单
完成迁移步骤后:
- 构建项目:确保没有编译错误
- 测试调试:使用新的 ASP.NET 优先方法
- 验证打包:确认新配置正常工作
- 检查跨平台构建:如果面向多个平台
🚨 常见迁移问题及解决方案
构建错误
- Node.js 版本:验证 Node.js 22.x 已安装并在 PATH 中
- 包冲突:如有需要清理 NuGet 缓存
运行时错误
- 缺少 electron-builder.json:触发重新构建或手动 NuGet 恢复
- 进程终止:使用 .NET 优先启动模式以获得更好的清理
💡 高级迁移主题
对于复杂的迁移场景,请参考:
🎉 迁移成功标志
✅ 项目正常构建,无编译错误 ✅ 调试功能正常工作,支持热重载 ✅ 打包构建成功,生成可执行文件 ✅ 跨平台功能验证,确保多平台兼容
🔮 下一步行动
迁移完成后,您可以:
通过本指南,您应该能够顺利完成从旧版本 Electron.NET 到 Electron.NET Core 的迁移。记住,虽然架构发生了重大变化,但 API 保持完全兼容,确保您的现有代码能够平稳过渡到现代化平台。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






