【问题标题】:Running Mono C# projects on Mac ... and Winforms在 Mac 和 Winforms 上运行 Mono C# 项目
【发布时间】:2021-03-01 07:13:08
【问题描述】:

我第一次尝试 Visual Studio for Mac,并找到了一个编写 exe 的教程,该 exe 显示一个带有简单菜单的窗口。

我的两个问题是:

Mac 用户如何获得 Mono 平台?我找不到部署 Mono 的说明。当我在我的 exe 文件夹中查找时,没有其他文件。只是exe。

也许这应该是一个不同的问题,但我在 Visual Studio for mac 中找不到任何“WinForms”版本。我不得不使用 Gtk2(我认为)。

如果有更好的地方可以问这些问题,请指导我。谢谢。

【问题讨论】:

  • 您可以查看 Xamarin 平台(Visual Studio for Mac 是 Xamarin Studio IDE 的新名称)。 WinForms 是 Windows 特定的框架
  • 对不起,我不知道gk2是什么,我只听说过gtk2跨平台工具包。 VS for Mac 的兼容平台见Visual Studio 2019 for Mac Platform Targeting and Compatibility
  • @SushiHangover 32 位后端已随 Mono 广泛“交付”,而 64 位后端已存在但尚未交付(我很久以前就知道它的存在)。 Mono/MonoDevelop 一直没有得到很好的维护,所以现在任何关于 Mono 的文章/帖子都比较冒险。
  • @AndrewTruckle 如果您阅读我的博客文章,您有几个选择可以探索。顺便说一句,请确保将它们与 .NET Core 一起使用,而不是 Mono。
  • 你能先过docs.microsoft.com/en-us/xamarin/mac/get-started/hello-mac吗?这为您提供了一些有关如何构建 Mac 应用程序的基本技巧。

标签: c# mono visual-studio-mac


【解决方案1】:

我知道最好的做法是:

  1. 创建一个 Xamarin.Forms 多平台项目。
  2. 创建一个 Cocoa Mac OS 项目。
  3. 将首选项添加到项目 2 中。
  4. 使用 Nuget 包管理器将 Xamarin.Forms 下载到每个项目中。

现在使用 XAML(类似于 WPF)创建应用程序很容易。

Visual Studio for Mac 使用 Android 和 iOS 平台构建自动创建多平台项目(上述步骤 1),但不使用 macOS。

我还发现我真的不需要下载 Mono,因为它是自动处理的。

【讨论】:

    【解决方案2】:

    .NET Core 确实支持 Mac 和 Linux。即使 .NET Core 现在支持 Windows 窗体。 Windows Forms is only supported on Windows. 由于 Windows 窗体对 Windows API 的依赖,这种情况不太可能发生变化。

    【讨论】:

    • macOS 和 Linux 上的 WinForms 是 Mono 多年前实现的。它只是在这一刻被放弃了。因此,“由于 Windows 窗体对 Windows API 的依赖,这种情况不太可能改变”并不完全正确。
    • 在我的回答范围内完全正确。 .NET Core 不太可能在 Windows 以外的平台上支持 Windows 窗体。我链接的 Microsoft 博客文章正是如此。
    • 我想我可以提到 Mono 有一个半功能的、仅 32 位的实现,十年没有更新,也没有设计者可靠的支持。但似乎没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多