关于Uno Platform Linux桌面WinUI(XAML).NET7项目的相关疑问
Uno Platform Linux桌面开发相关问题解答
1. 是否存在适用于Linux桌面、基于WinUI(XAML)和.NET7的Uno Platform项目头?
存在,对应的是Skia.GTK类型的项目头(例如MyApp.Skia.GTK)。Uno Platform通过Skia+GTK技术栈实现Linux桌面支持,完全兼容WinUI(XAML)语法和.NET7,基于共享的跨平台代码即可构建Linux环境下的WinUI3风格应用。
2. 使用dotnet new unoapp -o MyApp --vscode创建的MyApp是否为共享代码部分?
不是。MyApp是Windows平台的专属项目,共享代码的核心载体是MyApp.Base——这里存放跨平台的App.xaml.cs、XAML页面、通用业务逻辑等内容,所有目标平台(包括Linux Skia.GTK)都会引用该Base项目。开发Linux应用时,只需在Base项目中编写WinUI3风格的代码,通过Skia.GTK项目编译即可在Linux上运行。
3. 特定命令创建项目后,launch.json存在无效配置且无Linux XAML窗口选项,问题出在哪?
问题根源在于你创建命令中添加了--skia-gtk=false参数:
- 模板预生成的
launch.json是通用配置,不会根据你指定的参数动态清理无效项,因此残留了WASM和Skia.GTK的调试配置; - 要获得Linux的XAML窗口UI支持,必须启用Skia.GTK项目,需将命令中的
--skia-gtk=false改为--skia-gtk=true,重新生成项目后会自动包含MyApp.Skia.GTK项目,对应的调试配置也会正常生成; - 若不想重新生成项目,可手动将Skia.GTK项目添加到解决方案,并在
launch.json中配置对应的调试项,指定启动项目为MyApp.Skia.GTK。
内容的提问来源于stack exchange,提问作者Allstar
相关产品推荐
相关产品推荐

