Mono可以运行Windows通用应用程序吗?
本文关键字:应用程序 Windows 运行 Mono | 更新日期: 2023-09-27 18:14:41
我正在使用windows 10, visual studio 2015和c#编写一个通用应用程序。我想在windows, Linux和mac上运行这个应用程序。我知道mono不实现windows演示框架,所以,如果我写一个WPF应用程序,它只能在windows上运行。如果我写一个通用应用,mono能运行吗?如果是,怎么做?
圣杯。net UI问题:-)
TL;DR答案= No.
通用Windows平台(UWP)核心api(也称为Windows运行时/WinRT)和由此产生的基于APPX的应用程序仅针对Windows 10平台(手机,PC,平板电脑…),因为这些api和运行时不存在于其他桌面。
使用Xamarin/Mono,你可以重用c#应用程序的"业务"级逻辑的一部分,但表示层和GUI逻辑必须使用不同的GUI (Native Widgets, gtk#, QTSharp, HTML/CSS/NodeJs等)重写。与人们使用Xamarin进行基于c#的移动开发的模式相同,跨平台共享你的c#应用逻辑并使用Xamarin。Mac构建原生OS-X UI,和/或使用gtk#构建UI,将应用程序的运行时逻辑嵌入到Electron/Blink shell中,等等。
目前,Windows 10 for Apache Cordova项目是HTML, JavaScript和CSS,仅针对移动(WinPhone, iOS, Android)和Windows 10 PC/平板电脑平台。这并不是说有人不能开发一个新的Cordova目标来包含OS-X和Linux桌面管理器支持(但我不知道有哪个还没有停滞):-/
甚至微软基于xplatform的Linux和OS-X的Visual Studio Code也使用Electron(基于Chromium)来部署基于io.js的应用程序,并使用Blink布局引擎来渲染UI,所有这些都是在HTML/CSS/JS中完成的。