C# .NET平台标准中有哪些平台?
目前,我正试图了解.NET平台标准,但我发现自己对“不同平台”的概念相当困惑 我会尽量把我的观点讲清楚。目前我对.NET Framework的看法是,.NET大致上由CLR、BCL和支持软件组成,用于引导CLR并提供虚拟机和底层操作系统之间的接口 因此,当我们使用.NET Framework编写代码时,我们确实针对某个版本的框架,因为我们使用的BCL类型与框架一起提供,因此取决于特定的版本 据我所知,.NETCore是完全不同的。并不是所有的东西都是那样包装在一起的。我们有CoreCLR,它是一个运行IL的轻量级VM,CoreFX是作为NuGet包正确组织的库,到目前为止,我们有DNX/DNVM/DNU,它提供了启动CoreCLR和与操作系统接口等支持功能 不管怎样,尽管我们在Windows7、Windows8或Windows10上安装了这个框架,我们还是根据这个框架编写代码 现在,在.NET平台标准规范中,我们看到了以下定义: 平台-例如NET Framework 4.5、.NET Framework 4.6、Windows Phone 8.1、MonoTouch、UWP等 之后我们还会看到一个平台列表,其中包括C# .NET平台标准中有哪些平台?,c#,.net,windows,dnx,.net-core,C#,.net,Windows,Dnx,.net Core,目前,我正试图了解.NET平台标准,但我发现自己对“不同平台”的概念相当困惑 我会尽量把我的观点讲清楚。目前我对.NET Framework的看法是,.NET大致上由CLR、BCL和支持软件组成,用于引导CLR并提供虚拟机和底层操作系统之间的接口 因此,当我们使用.NET Framework编写代码时,我们确实针对某个版本的框架,因为我们使用的BCL类型与框架一起提供,因此取决于特定的版本 据我所知,.NETCore是完全不同的。并不是所有的东西都是那样包装在一起的。我们有CoreCLR,它是一
- .NET Framework 2.0-4.6
- 视窗8
- Windows Phone 8.1
- 银光4,5
- .NET Framework 4.5.1-4.6上的DNX
- .NET Core 5.0上的DNX
- 如果您想在Linux或OSX上的Unix终端上显示它,那么您需要针对Mono或CoreCLR,即可以在此类操作系统上运行的框架实现
- 如果您想在Windows应用商店应用程序(又名WinRT,又名Windows 8,又名UWP)中显示它,那么它实际上是一个隐藏在引擎盖下的小玩意儿,一个非常好的隐藏细节,您不必担心。但是确实需要一个UI小工具,比如Windows.UI.Xaml.Controls.TextBlock,一个高度特定于WinRT的类
- 如果要在浏览器中显示它,则需要将目标定位为ASP.NET或Silverlight,即经过优化以在web服务器上运行或作为浏览器加载项的框架主机
- 如果你想在一个由小型锂离子电池供电的设备上展示它,比如手机,那么你将不可避免地需要处理一个经过优化的框架版本,以尽可能少地使用电源。这确实会影响你必须编写的代码,燃烧100瓦的代码和让一个小电池保持8小时电量的代码之间有着巨大的区别。除了大量使用async/await之外,您无法直接看到任何东西,但肯定有一些东西严重影响了运行时。需要以Xamarin或WinRT为目标
- 如果您想在任何操作系统上显示它,那么您确实需要针对一个框架版本,该版本不使用.NET在Windows上使用的那种让EXE启动CLR虚拟机的技巧。这需要dnx.exe,就像用java或python编写的程序使用java.exe或python.exe一样