可以为 linux 构建应用程序吗?

Possible to build an application for linux?

我正在尝试构建一个基于(我猜这是某种扑克游戏的最佳方式?!)客户端服务器架构的游戏。

我正在为 Visual Studio 2015 使用 Xamarin 插件,为我的 Android 客户端使用 Xamarin.Forms(稍后我可能会构建一个 IOS 客户端和一个 Windows Phone 客户也是,所以我选择 Xamarin.Forms).

由于我不想有一个Windows服务器,我将要实现一个linux服务器应用程序,它与我的客户进行交互。

现在我有两个基本问题:

  1. 是否可以在 Windows 上使用 Xamarin 的 Visual Studio 插件构建 Linux 应用程序?如果没有,你会怎么做?
  2. 您将如何与您的客户互动,是否有免费的框架可以为我提供客户端和服务器之间的自动对象传输?我看到有一个叫NetworkComms.NET的框架,但即使是非商业版也要花钱。

对于这个稍微 broad/opinion-based 的问题,我深表歉意,但我不知道如何以更好的方式标记或提出这个基本问题。

要使用 .NET 为 Linux 构建服务器应用程序,您不需要 Xamarin。您可以使用 Visual Studio,创建一个控制台应用程序,然后 运行 它与 Linux 上的 Mono 一起 运行。

您可以使用 .NET 提供的大部分内容,更多信息请访问 Mono 网站 application portability

您可以使用 NuGet 包,只要它们是托管代码,或者有 Linux 本机版本。 Windows 本机代码不能直接在 Linux 上运行。某些本机库(如 SQLite)可用于 Mono,并且可以正常工作。

您可以使用 Visual Studio 构建应用程序,然后在需要时在 Linux 上部署二进制文件,或者您可以使用 Mono 编译整个应用程序。如果您使用 Mono 不提供的 .NET 的某些部分,后者可能会显示隐藏的错误,但在常规开发中这些不会出现。