使用 .NET 开源是一个可在 Linux 和 Mac 上使用的 MS 运行时吗?

With .NET open sourcing is a MS runtime avaliable on Linux and Mac?(使用 .NET 开源是一个可在 Linux 和 Mac 上使用的 MS 运行时吗?)
本文介绍了使用 .NET 开源是一个可在 Linux 和 Mac 上使用的 MS 运行时吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经阅读了很多关于 MS 开源 .NET 的新闻,例如http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx.

I have read much of the news around MS open sourcing .NET, e.g. http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx.

但是,对于 MS 是否已发布运行时以在 Linux 和/或 Mac 上运行 .NET 应用程序,我仍然一无所知?我还有很多问题希望有人能回答:

However I am still in the dark as to whether MS has released a runtime to run a .NET application on Linux and/or Mac? I still have a number of questions I hope someone can answer:

  • 我可以在 Linux/Mac 上运行我的 .NET 应用程序(不带单声道)吗?如果可以的话,我只读取了服务器端"堆栈已开源,这需要哪些程序集,我可以运行 Hello World 控制台吗申请?
  • 我可以在我的应用程序中包含适用于 Linux/Mac 的 MS 运行时(如果有的话),这样就不需要在系统范围内单独安装它(就像在 Windows 上那样)?
  • 同样,我可以在不安装 .NET 程序集的情况下将它们包含在系统上吗?

推荐答案

有了 .NET 开源,MS 运行时可以在 Linux 和 Mac 上使用吗?

简短的回答是很快,他们希望在 Build 2015 之前完成一个.如果 Xamarin/Mono 可以通过,您可能会在特定于平台的项目中使用 Partial Classes 之类的东西,所以当您构建您的解决方案,您将选择要编译的项目(具有特定于平台的部分类)以针对不同的操作系统.

With .NET open sourcing is a MS runtime avaliable on Linux and Mac?

Short answer is soon, they hope to have one completed by Build 2015. If Xamarin/Mono is anything to go by, you might have things like Partial Classes in Platform specific Projects, so when you build your solution you will select which projects (with the platform specific partial classes) to compile to target different OS's.

长答案,看看你发布的链接中的评论让我们凝视水晶球:

Long answer, looking at the comments in the link you posted lets us gaze into the crystal ball:

@Rev.pl:这是否意味着您将真正开源 JIT 编译器?

Immo Landwerth:就是这个意思.和GC.和类型系统.和装配装载机.和装配活页夹.还有互操作系统:我们将开源整个 CoreCLR 运行时!

Immo Landwerth: That's exactly what it means. And the GC. And the type system. And the assembly loader. And the assembly binder. And the interop system: we'll open source the entire CoreCLR runtime!

@Dave:有人知道普通的旧 WCF 是 CORE 的一部分吗?

Immo Landwerth:WCF 的客户端将包含在 .NET Core 中.

Immo Landwerth: The client side of WCF will be included in .NET Core.

@Alberto:那么 WPF 也会开源吗?:)

Immo Landwerth:.NET Framework 的一个子集在 GitHub 上根据 MIT 许可发布.

Immo Landwerth: A subset of the .NET Framework is released under the MIT license on GitHub.

@ts:是否有将 WPF升级"到 .Net Core 5 的路线图?

Immo Landwerth:目前没有将 WinForms 或 WPF 移植到 .NET Core 的计划.

Immo Landwerth: There are currently no plans to port either WinForms or WPF to .NET Core.

...我只想澄清一件事:仅仅因为 WinForms 和 WPF 不是开源的并不意味着我们不会对它们进行投资.事实上,我们只是在博客中介绍了我们的 WPF 路线图 :-)

... I just want to clarify one thing: just because WinForms and WPF aren't open source doesn't mean we'll not invest in them. In fact we just blogged about our WPF roadmap :-)

萨拉特·阿迪拉杰System.data (ADO.net) 会成为开源服务器堆栈的一部分吗?如果没有相应的开源位连接到数据库后端,我认为在 linux 和 Mac 上运行开源的 asp.net 没有任何意义.

为了回答我之前发布的查询,我刚刚注意到 (github.com/.../DataCommon) System.Data.Common 作为 ASP.net vNext 的一部分提供.伙计们干得好!!

To answer my own query posted earlier I just noticed (github.com/.../DataCommon) System.Data.Common available as part of ASP.net vNext. Great job guys !!

ronelm2000 ...我想知道 XNA Framework 是否也受到了打击?

ronelm2000 ... I wonder if XNA Framework gets the hit too?

我:见 http://www.monogame.net/showcase/
Bastion 游戏开发者:MonoGame 使我们能够使用 MonoGame 代码的一个分支,轻松移植针对 iOS、MacOS、Linux 和 Chrome 的完整 3D XNA 3.1 游戏."

Me: See http://www.monogame.net/showcase/
Bastion Game Developers: "MonoGame enabled us to painlessly port a full 3D XNA 3.1 game which targeted iOS, MacOS, Linux and Chrome using a fork of the MonoGame code."

画一个火柴人史诗 开发人员:使用 MonoGame,我们能够在多个平台之间共享大约 95% 的代码.MonoGame 帮助了我们很多,花更多的时间让我们的游戏内容适应新的屏幕分辨率,而不是实际将游戏移植到新平台.一开始,我们在 Windows 上为标准 XNA(范围配置文件)开发,然后使用 MonoGame 轻松移植到 iOS、WinRT(Windows 8)和 Android.更多平台将很快跟进."

Draw a Stickman Epic Developers: "Using MonoGame, we were able to share around 95% of our code between multiple platforms. MonoGame helped us so much, more time was spent getting our game’s content to fit new screen resolutions than actually porting the game to new platforms. Starting out we developed for standard XNA (reach profile) on Windows, then had a pretty easy port to iOS, WinRT (Windows 8) and Android using MonoGame. Many more platforms will follow shortly."

@Bo:好吧,这一切让我有点困惑.作为 LOB 开发人员,这一切对我意味着什么?

Immo Landwerth:主要区别在于 .NET Core 将是一个单一的跨平台堆栈.

Immo Landwerth: The key difference is that .NET Core will be a single, cross platform stack.

让我们将其与今天的 .NET Framework 和 Mono 进行对比.Mono 是对 .NET Framework 的完全重新实现.这意味着某些功能的支持或实现方式不足以导致可能破坏您的应用程序的行为更改.此外,Microsoft 目前不支持在 Linux 或 MacOS 上运行.

Let's contrast this with .NET Framework and Mono today. Mono is a full reimplementation of the .NET Framework. This means that certain features aren't supported or implemented differently enough to cause behavioral changes that can break your application. Also, Microsoft doesn't support running on Linux or MacOS today.

另一方面,微软将在 Windows、Linux 和 MacOS 上支持 .NET Core.我们计划与 Mono 社区一起开发一个单一的代码库.

.NET Core on the other hand will be supported by Microsoft on Windows, Linux and MacOS. We'll have a single code base that we plan on working on together with the Mono community.

对您而言,这意味着以其他平台为目标将更加可靠,创新将更快发生.这也意味着您将能够更快地发现接下来会发生什么,因为所有的设计工作都是公开进行的.

For you that means that targeting other platforms will be more reliable and innovation will happen faster. It also means that you'll be able to find out sooner what's coming next because all the design work is happening in public.

最后,您还可以参观厨房并参与设计讨论.

Finally, you'll also be able to take a look at the kitchen and engage in design discussion.

这篇关于使用 .NET 开源是一个可在 Linux 和 Mac 上使用的 MS 运行时吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)