2
很多同事和陌生人都向我强调,C#是严格意义上的Windows平台语言,我被告知/驳斥/问过。你可以在非Windows平台上编写C#应用程序吗?
我很想听听那些一直在非Windows平台上从事C#项目工作的人,也听说他们使用的是什么技术栈,以便做到这一点。
很多同事和陌生人都向我强调,C#是严格意义上的Windows平台语言,我被告知/驳斥/问过。你可以在非Windows平台上编写C#应用程序吗?
我很想听听那些一直在非Windows平台上从事C#项目工作的人,也听说他们使用的是什么技术栈,以便做到这一点。
C#本身就是一种语言,事实上,与平台无关。直到最近,.NET Framework的基本类库最初都是以Windows为中心的(尽管dotGnu和Mono中有开源的跨平台)。
主要仅Windows .NET中今天的事情是:
System.Windows.Forms
:的WinForms - 围绕Win32和HWND)System.Drawing.*
(GDI周围的包装)Microsoft.Win32
命名空间。还有其他的东西,比如System.Diagnostics.Process
,它们都是围绕着Windows环境的推定而明确设计的(例如Process.Handle
)。
与之抗衡的另一个问题是在第三方库坏的假设,如代码总是使用\r\n
为换行符,而不是Environment.Newline
或代码假设使用的驱动程序字母和反斜杠路径。
实际上,您现在可以在[.NET Core](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/your-first-mac-aspnet)中完全跨平台使用C#。 – kman
这更像是一个论坛聊天帖子,而不是一个问题。标题问题是一回事,可以通过简单的网页搜索轻松解答。这个问题本身就是一个讨论的邀请,这在Stack Overflow中不起作用。 –
C#得到了很多跨平台的使用....也是在F#世界中,它几乎就像那些使用非Windows机器的人。 –