2KB项目,专业的源码交易网站 帮助 收藏 每日签到

在 OS X 和 Linux 上运行 ASP.NET vNext

  • 时间:2019-01-23 18:35 编辑:2KB 来源:2KB.COM 阅读:292
  • 扫一扫,手机访问
  • 分享
摘要:
ASP.NET 英文原文:ASP.NET vNext on OSX and Linux

那么什么是ASP.NET vNext ?

微软最近发布了ASP.NET平台下个迭代的一个预览。这里我不会去深入细节,Scott Hanselman等人在这方面已经做了出色的工作。而我要说的变化,在技术和文化两个层面,巨大的变化。本博客主要跟这两个变化相关。

首先,ASP.NET vNext是完全开源的。像你和我这样的人能够接触到底层,可以尝试项目的每分每毫,甚至贡献代码——特别是项目开始的时候。

其次,ASP.NET vNext是跨平台的,第一次将非Windows主机作为一等公民对待。微软将Mono和Linux完全集成到他们的构建环境和测试矩阵中,并积极地与社区共同努力将Mono变成一个托管ASP.NET的顶级平台。也就是说,原团队仍不断Mono环境下解决问题,但是这些都只是开始。

在 OS X 和 Linux 上启动和运行 ASP.NET vNext

在非windows系统上运行ASP.NET vNext应用有如下两种方式.

首先需要安装Mono. 这块基本上没啥难度,但由于目前还有发布安装包,可能会碰到一些问题,很多补丁都是打在mono的源码里.如此,我们需要从gitHub上下载最新的代码然后构建出含有所有补丁的版本.

另一种方法就是安装 “K运行环境” 或简称KRE. 这是些命令行运行并构建(这块没什么区别)新生成的project.json文件.

KRE的安装过程是由 “K Version Manager” (KVM)管理的. 这个可以安装多个版本的KRE 并可以方便的在不同版本间切换.

创建Mono

先不谈太多细节. 网上有很多 示例 讲述如何从源码创建mono.

  • 根据  Github 上的说明 安装Mono.

  • 从源码构建Mono时需要预安装之前的版本 (Mono使用本身构建)

  • 需要安装autoconf, libtool 和其它几种常见的开发工具.

  • 在某些linux系统上需要预先执行相关命令,然后执行 mozroots command 

  • sudo certmgr -ssl -m https://go.microsoft.com
    sudo certmgr -ssl -m https://nugetgallery.blob.core.windows.net
    sudo certmgr -ssl -m https://nuget.org

  • 如果是 linux, 需要运行mozroots --import --syncafter来安装mono以避免 证书/认证问题

  • 如果是OSX ,需要编辑 /private/etc/paths去掉 /usr/binso之前的/usr/local/bin  以便系统找到当前版本之前的Mono版本号.

提示: 如果在 /usr/local/bin包含太多信息会造成系统混乱.如果有哪里不清楚,最好查阅相关官方说明

上述操作完成后, 运行mono --version. 出现Mono version 3.4.1 or newer信息.

mono --version

如果没出现上述信息, 看一下$PATH变量然后在检查下之前的安装步骤.

安装KVM和K运行时环境(K Runtime Environment)

安装KVM是很简单的。你可以去查看 AspNet项目主页上的自述文件 ,还可以跟着“入门指南”做一遍,主版本库包含快速开始的例子。  

KVM可以安装在任何Linux或者OSX操作系统上(可以使用bash或者zsh和curl去安装)且一行命令就做到了。

curl https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh && source ~/.kre/kvm/kvm.sh && kvm upgrade

继续:

    ?下载 kvm.sh并且把它保存至~/.kre/kvm/kvm.sh。

    ?在每一次登陆的时候,添加命令行kvm.sh到bash/zsh中去运行。

    ?kvm.sh将会通过source命令被运行,并且添加kvm命令到了当前的shell。

    ?运行kvm upgrade,这样将会下载最新的KRE包,把它解压至.kre/packages并且添加bin文件夹到你的路径。

这些步骤完成的时候,所有的KRE命令就可以在shell提示框中使用了。最重要的是,k命令可以被用来运行ASP.NET vNext工程,kpm命令还可以用来还原包。

此外,kvm命令可以为用户安装其他版本的KRE,完成版本之间的切换,列出安装版本和设置别名。我们通过查看ASP.NET工程主页自述文件中的各种例子来了解各种kvm命令。

很好,现在已经得到一个暂新的KRE...

现在让我们做一些测试。我们可以从aspnet仓库的众多示例中下载一个,验证我们是否成功构建了在 OSX 和Linux运行ASP.NET vNext 应用的必备条件,让我们从零开始创建一个简单项目。

  • 在你的系统上创建一个 HelloKRuntim文件夹并用cd命令进入该文件夹

  • 创建一个project.json文件并把下面的文本复制进去。这是你的ASP.NET vNext项目文件..不要遗漏花括号

{
    "dependencies": {
      "System.Console": "4.0.0.0"
    },
    "configurations": {
      "net45": {},
      "k10": {}
    }
  }

  • 创建一个Program.cs文件并把下面的代码复制进去。

using System;

  public class Program
  {
      public static void Main()
      {
          Console.WriteLine("Hello K Runtime !");
      }
  }

键入kpm restore -s https://www.myget.org/F/aspnetvnext/命令。KRE包管理器将会拦截 nuget库并且分析System.Console流和它的全部依赖,这些工作将基于project.json文件入口信息进行。注意这里没有必要使用Nuget和引入这个包。project.json是所有kpm信息的入口并且需要分析项目的依赖性。

注意:因为 ASP.NET vNext项目当前使用他们自己的nuget feed。我们需要在命令行支持nuget源码。这可以在你的解决方案文件夹中生成一个NuGet.Config文件,重新编译vNext 将不再需要这个文件除非你使用自己私有的nuget feeds。


  • 现在在命令行键入一个k run,你可以看到你的系统焕发出新的生机并且呈现这些不朽的文字。

  • 作为一个示例展示系统配置如何与运行环境绑定,尝试键入export KRE_TRACE=1命令并且再度键入k run命令。你可以编译输出信息和输出结果“Hello K Runtime”.

总结

希望本文介绍了跨平台的ASP.NET vNext的全部已有功能. 尽管还有很多不完善的地方,但在OSX 和Linux保底的前提下,功能时刻都在更新. 如果你在使用过程中有什么问题,在这里发问会得到其它人的帮助的aspnetvnext room on Jabbr .

更新: 如果不想使用控制台的模式学习,  Hello World V Next web版的示例会是个好的开始.

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部