【问题标题】:.net core cross platform desktop app.net core 跨平台桌面应用
【发布时间】:2018-02-23 14:32:54
【问题描述】:

我想使用 .net Core 开发一个跨平台的桌面应用程序。该应用程序需要在 linux、mac os 和 windows 上执行。为此,我应该创建一个控制台应用程序并将下面的行放在设置 xml 中吗?

<PropertyGroup>
   <RuntimeIdentifiers>win10-x64;osx.10.12-x64;debian.8-x64</RuntimeIdentifiers>
</PropertyGroup>

够了吗?如果是这样,我应该写所有平台并用逗号分隔,例如

win7-x32;win10-x64;...

如果不是答案,如何使用 .net Core 生成跨平台桌面应用程序?

【问题讨论】:

  • 你用的是什么版本的dot net core?
  • .NET Core 2.0 版本
  • 谢谢,我看过了。当我为 linux 或 mac 发布时,输出会是什么?
  • blog.lextudio.com/… .NET Core 不支持。您必须使用特定的 UI 框架和平台相关的项目类型。

标签: c# visual-studio asp.net-core .net-core cross-platform


【解决方案1】:

正如另一个答案所没有的,.NET Core 本身是跨平台的,但它不提供任何 GUI 解决方案。您可以运行控制台/终端应用程序以及 Web 应用程序,但不能运行桌面应用程序。

截至目前,还没有解决多平台 GUI 问题的官方 Microsoft 技术。我知道的两个是AvaloniaEto.Forms。两者都有其优点和缺点,并且两者都有点越野车。不是说它无法使用,而是说它正在发展技术,不要指望它们会让你大吃一惊。

入门指南:

【讨论】:

  • 我认为微软在推动最重要的net core sutff的开发方面还有很多工作要做。也许将来我们会从他们那里得到一个跨平台的 gui 解决方案。太好了!
  • .NET MAUI 是 .NET 6 中的新功能。它提供了所有这些功能。 devblogs.microsoft.com/dotnet/announcing-net-maui-preview-6
【解决方案2】:

1) .NET core 中的控制台应用程序已经是跨平台的。

2) 对于那些使用 GUI 的人,.NET core 终于有了一个微软官方支持的跨平台 GUI 选项.NET MAUI

这建立在与 Xamarian Forms 相同的 API 之上。

Official .NET MAUI Github Repo

【讨论】:

  • MAUI 不支持 Linux,这是问题中的要求。
【解决方案3】:

如果我正确理解您的问题,可以分为两个问题。

1) 如何创建一个跨平台的.net core app

2) 如何创建一个跨平台的.net core UI app

回答第二 (2) 个问题:仅使用 .net core 和 microsoft 库无法创建跨平台应用程序。您需要的是一个跨平台 UI 库,可以绑定到您的所有目标平台。我得到的第一个搜索结果是 Avalonia https://github.com/AvaloniaUI/Avalonia

我怀疑让它工作起来不是一件容易的事,因为所有替代方案似乎都是实验性的和/或测试版。但你当然可以证明我错了。

祝你好运!

【讨论】:

  • 谢谢。实际上我不知道具体要做什么,我需要构建一个桌面应用程序(带有一个简单的 ui 并连接一个 Web 服务)并使该应用程序在所有操作系统中工作:/
  • .NET Core 目前对于跨平台桌面应用来说是错误的技术。在这一点上,像 Avalonia 这样的东西是实验性的/不稳定的。您最好选择 .NET Framework(在 Windows 上)和 Mono(Linux/Mac)。
【解决方案4】:

您可以尝试使用 electron.js。目前仅使用 .NET Core 构建跨平台桌面应用程序相当困难

【讨论】:

  • Electron 是最糟糕的选择,出于各种原因,如果您想要“制作简单但性能极差的应用程序”以外的任何东西。
【解决方案5】:

您有许多使用 .NET Core 制作跨平台应用程序的解决方案:

  1. Electron.NET
  2. 阿瓦隆尼亚
  3. ...

如果您想了解有关如何执行此操作的详细信息,您应该查看提供 .NET Core 3 项目示例的专门书籍Here。这样您就可以找到最适合您应用的 UI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多