mac 无法启动linux系统,Linux和Mac OS X系统上已经可以运行.NET了

.NET Core运行时已经看到了实现真正的跨平台的美好前景,它最终出现在Linux和Mac OS X平台上。在上周举办的Microsoft

Build大会上,来自微软的项目经理Habib

Heydarian为听众分析了这一举措对开发者们所带来的益处,并告诉开发者们如何开始探索这些新的机会。在名为“让.NET实现跨平台”的一场讲座中,Heydarian首先介绍了开发者如何进行一次全新的.NET

Core安装。首先,所有的.NET代码都包含在一个单独的文件夹中,而无需将它安装在某个系统级别的位置。这样,只要愿意,每个.NET应用都可以使用一个完全不同的编译版本。并且在Windows系统上进行编译的代码也能够在Mac

OS X和Linux系统上运行。要在以上系统中运行一个基于命令行的标准HelloWorld程序,可使用以下方式:./corerun

HelloWorld.exe// corereun是一个原生的运行app的环境//

在Windows上,引导.NET应用的功能已经内建于操作系统中了在非Windows平台上使用.NET,就意味着开发者们能够使用ASP.NET

5、CoreCLR,并且从以下共享的功能中受益了:

c3c4167cbc06e17587e37a0de96cf7f4.png

运行时组件

64位的JIT编译器与SIMD指令

垃圾回收器

类库

基础类库

NuGet包

编译器

.NET编译器平台(Roslyn)

如何获取.NET Core

对于Mac OS

X开发者来说,推荐的方式是使用Homebrew以获取必要的组件。当安装好Homebrew之后,就可以通过以下命令获取.NET组件了:brew tap

aspnet/dnx

brew update

brew install dnvm

dnx . kestrelLinux用户可以从该项目的网站上下载一个包含了所有必要组件的TAR文件,随后按照以下方式进行安装:tar zxvf

PartsUnlimited-demo-app-linux.tar.gz -C ~/

source ~/.dnx/dnvm/dnvm.sh

dnvm use 1.0.0-beta5-11624 -r coreclr -arch x64

dnx .

kestrel你一定注意到了一点,在这个两个平台上所运行的最后一条指令都是kestrel的执行。Kestrel也正是“跨平台的ASP.NET 5

web服务器”,DNVM则是.NET的版本管理器。目前,该项目只支持64位平台的Linux和Mac OS

X。开发团队仍然在继续研究如何让它支持32位的系统。紧随Linux和Mac OS

X之后,对FreeBSD的支持最近也加入到该项目中。对于这三个平台来说,目前还存在着一个限制,那就是从源代码编译.NET

Core的功能仅限于Windows版本。要从源代码编译.NET,开发者需要首先编译CoreCLR,然后再编译CoreFX。正如Windows平台上的.NET开发者能够利用平台调用(PInvoke)功能一样,Linux平台上的开发者也能够使用DLL

Import这一命令:[DllImport(“libc”)]

private static extern int printf(string format);

Printf(“Hello, //BUILD 2015!\\n”);

下一步计划

Heydarian在演讲余下的部分谈到了该团队下一步的计划,以及微软对这一项目的目标。随着Visual

Studio不断地扩展到非Windows的平台上,微软希望能够改进在这些新环境中的调试功能。对于VS2015来说,就是要实现远程调试。而对于VS

Code来说,首先要从实现本地调试开始。另一个改进的方向是整体的上线预备。为了在这方面有所突破,团队打算整合MSBuild的支持,并消除目前对Mono在这方面功能的依赖。Heydarian表示,当.NET在Linux和Mac

OS X平台上正式发布,并成为“RTM”版本之后,微软将做出以下正式的承诺:.NET

Core应用能够在基于Linux的生产环境中运行,包括Docker、本地部署和云端部署

开发者可以使用VS Code或其它任何喜爱的编辑器,对运行在Mac OS X环境中的.NET代码进行编辑、编译与调试

全部使用无关平台特性创建的应用在Windows与其它平台上具有相同的行为

.NET Core将把现有.NET云端生态系统的类库也带到Linux上

微软对.NET在Linux上的支持、服务和维护与其它微软产品一视同仁

在你的应用中加入对Linux和Mac OS X的支持

微软将推出一套API可移植性工具,用于对现有的代码进行分析,找出所需的程序集和目标平台。目前为止,唯一对兼容性进行了测试的Linux分发平台是Ubuntu

14.04.2

LTS。虽然没有明确地表示不支持其它的Linux分发平台,但无法保证在这些平台上是否能够正常运行。Heydarian认为目前来看,微软所提供的.NET与Mono版本相比,所针对的市场方向并不相同。Haydarian表示:“……虽然[Mono]在移动场合的表现优秀,但它并不是为服务器或云端生产环境的使用场景而设计的……”,而.NET

Core倾向于在具有高吞吐量、高伸缩性,以及更高的修复前平均时间(MTTF)的服务器环境中所使用。希望通过.NET即将提供的功能,从跨平台方式中受益的开发者可以首先从VS2015RC中的ASP.NET

5项目模板开始打造及测试应用,并且参考GitHub上的ASP.NET示例应用Parts Unlimited。凡是能够在Windows上的ASP.NET

5中成功运行的应用,一旦等到.NET Core RTM之后,就能够无缝地迁移至Linux平台上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值