关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » .NET »在 Linux 和 Mac OS X 系统上运行 .NET

    在 Linux 和 Mac OS X 系统上运行 .NET

    2015-05-07 00:00:00 出处:蘑菇先生
    分享

    .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,并且从以下共享的功能中受益了:

    运行时组件 64 位的 JIT 编译器与 SIMD 指令 垃圾回收器 类库 基础类库 NuGet 包 编译器 .NET 编译器平台(Roslyn)

    如何获取 .NET Core

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

    brew tap aspnet/dnx
    brew update
    brew install dnvm
    dnx . kestrel

    Linux 用户可以从该项目的网站上下载一个包含了所有必要组件的 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 平台上。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    小米路由器买哪款?Miwifi热门路由器型号对比分析

    IT头条

    Synology 对 Office 套件进行重大 AI 更新,增强私有云的生产力和安全性

    01:43

    StorONE 的高效平台将 Storage Guardian 数据中心占用空间减少 80%

    11:03

    年赚千亿的印度能源巨头Nayara 云服务瘫痪,被微软卡了一下脖子

    12:54

    国产6nm GPU新突破!砺算科技官宣:自研TrueGPU架构7月26日发布

    01:57

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    技术热点

    如何删除自带的不常用应用为windows 7减负

    MySQL中多表删除方法

    改进的二值图像像素标记算法及程序实现

    windows 7 32位系统下手动修改磁盘属性例如M盘修改为F盘

    windows 7中怎么样在家庭组互传文件

    Linux应用集成MySQL数据库访问技巧

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。