Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
任何c#应用程序都可以在linux上运行吗_C#_Linux_Windows_Server - Fatal编程技术网

任何c#应用程序都可以在linux上运行吗

任何c#应用程序都可以在linux上运行吗,c#,linux,windows,server,C#,Linux,Windows,Server,我正在用c#开发一个游戏服务器。服务器通过套接字与客户端对话,并使用自定义数据包协议发送字节[]。 问题是,这个软件是特定于windows操作系统还是能够在linux服务器上运行。我在不同的论坛上读过不同的帖子,开发者说他们的服务器只支持windows操作系统,有些人说它可以在linux上运行 有什么具体的因素吗? 应用程序是否需要专门编写才能在linux上运行?2020年更新 .NET核心和.NET框架正在合并到“.NET 5”中。无论出于何种目的,这只是.NETCore的下一个版本(而.NE

我正在用c#开发一个游戏服务器。服务器通过套接字与客户端对话,并使用自定义数据包协议发送字节[]。 问题是,这个软件是特定于windows操作系统还是能够在linux服务器上运行。我在不同的论坛上读过不同的帖子,开发者说他们的服务器只支持windows操作系统,有些人说它可以在linux上运行

有什么具体的因素吗?
应用程序是否需要专门编写才能在linux上运行?

2020年更新

.NET核心和.NET框架正在合并到“.NET 5”中。无论出于何种目的,这只是.NETCore的下一个版本(而.NETFramework即将推出)

WPF仍然只在windows上运行(尽管一个基于XAML的通用UI系统正在开发中),即使它在.NET Core/5上运行,并且您仍然需要为Linux专门构建受支持的项目类型,但是跨平台支持比我最初编写此文时要好得多

原创

为了使.NET代码能够在Linux上运行,您需要一个与该平台兼容的.NET版本

完整的.NET仅适用于windows,但有一个在Linux上运行的框架。也被移植到linux

Mono和.NET内核都不支持整个标准.NET。例如,两者都不允许您运行WPF应用程序。因此,只要您的代码与上述框架之一兼容;是的,你可以在Linux上运行它


对于您的特定示例,应该支持您提到的类,并且我认为在Mono或.NET Core下运行不会有任何问题。

取决于您是在Mono还是.NET Core上运行它。有些东西还没有实现,但大多数是假设你已经搜索了一些东西,比如你的文章与这个主题的一些现有问题有什么不同还不清楚。有了更多的细节,这个问题就不应该再重复了。Mono已经支持了将近99.9%的.net framework,通常任何c#服务或控制台应用程序都可以工作,即使是针对.net而不是针对Mono进行编译。@Gusman没错,最简单的例子就是WPF(有些.NET4.5类没有IIRC那么好)因为我说的是控制台或服务:D,界面只是缺少,因为它非常特定于操作系统。是的,我喜欢MonoXD@PhilippeHaussmann我很清楚两者之间的区别。正如你所说,形势已经发生了变化。我已经为这个答案的未来观众写了一篇更新。@mLstudent33更新就在这里。我在发布这个消息时编辑了这篇文章新界