c# - Mono 可以运行 Windows 通用应用程序吗?

标签 c# mono

我正在使用 Windows 10、visual studio 2015 和 C# 编写通用应用程序。我想在 Windows、Linux 和 Mac 上运行这个应用程序。我知道 mono 没有实现 windows 演示框架,所以,如果我编写一个 WPF 应用程序,它只能在 windows 上运行。现在,如果我编写一个通用应用程序,mono 可以运行它吗?如果是,如何?

最佳答案

chalice .Net UI 问题:-)

TL;DR 答案 = 否。

通用 Windows 平台 (UWP) 核心 API(也称为 Windows 运行时/WinRT)和生成的 APPX基于应用程序仅针对 Windows 10 平台(手机、PC、平板电脑...),因为这些 API 和运行时在其他桌面上不存在。

使用 Xamarin/Mono,您可以重用 C# 应用程序的“业务”级逻辑的一部分,但必须使用不同的 GUI( native 小部件、GTK#、QTSharp、HTML/CSS/NodeJs 等...)。人们一直在使用 Xamarin 进行基于 C# 的移动开发的相同模型适用,跨平台共享你的 C# 应用程序逻辑并使用 Xamarin.Mac 构建 native OS-X UI,和/或使用 GTK# 构建 UI,嵌入你的应用程序的运行时逻辑到 Electron/Blink shell 等中。

当前适用于 Apache 的 Windows 10 Cordova该项目是 HTML、JavaScript 和 CSS,仅针对移动设备(WinPhone、iOS、Android)和 Windows 10 PC/平板电脑平台。这并不是说有人不能开发一个新的 Cordova 目标来包括 OS-X 和 Linux 桌面管理器支持(但我不知道有任何尚未停止的目标):-/

即使是 Microsoft 基于 xplat 的 Linux 和 OS-X Visual Studio Code 也使用 Electron(基于 Chromium)来部署基于 io.js 的应用程序以及用于渲染 UI 的 Blink 布局引擎,所有这些都是在 HTML/CSS/JS 中完成的.

关于c# - Mono 可以运行 Windows 通用应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32813149/

相关文章:

c# - 将命令/属性绑定(bind)到 C# 中的元素?

c# - 为什么我的 .NET 6 Minimal API 不能反序列化 POST 正文?

c# - 我如何通过单声道从 CPython 调用 C#?

postgresql - SqlDataProvider 无法解析解析路径

linux - Linux的选择

c# - 在 nlog 中以编程方式创建数据库以启用 DatabaseTarget

c# - System.Text.Json 无法反序列化 List<List<object>>

c# - 如何在 Raspbian 操作系统启动时启动 Mono 程序?

c# - 如何在 C# 中锁定文件夹

visual-studio-2008 - 宪兵忽略列表格式