网上关于AspNet vNext的介绍已经非常多,本文不再赘述,仅记录下Mac环境的几点注意事项。

环境

  • OSX 10.9.4
  • Mono 3.6.1
  • Kvm 1.0.0-alpha4-10285

mono官网提供了mac使用的安装包,安装比较顺利,不详细说了。

这里比较麻烦的就是kvm,kvm的安装文件获取需要访问亚马逊的服务,网速不给力。

用HomeBrew安装的时候,为了下载这个包,命令重试了二十多次。

不过文件支持断点续传,所以需要多一些耐心。

尝试Console程序

这里直接获取github上Aspnet/Home 版本库以尝试运行。

git clone git://github.com/aspnet/Home.git

然后直接进入Home下的samples/ConsoleApp,运行kpm获取依赖的库:

kpm restore

完成后,用k run运行,命令行会输出:

[wbc@mbp:ConsoleApp]$k run
Hello World
[wbc@mbp:ConsoleApp]$

到此为止,你已经成功在mac系统上以vnext的方式成功运行了.net程序。

程序文件名并不强制要求为Program.cs只要代码中有main方法就行。

但ConsoleApp目录下并没有依赖的库,那么库在哪?

找找看

[wbc@mbp:ConsoleApp]$cd
[wbc@mbp:~]$ls -al

发现~目录下出现了.kvm/.kpm/两个目录

[wbc@mbp:~]$cd .k    //按两下Tab
.kpm/ .kre/
[wbc@mbp:~]$cd .kpm/
[wbc@mbp:.kpm]$ls
packages
[wbc@mbp:.kpm]$ls -p packages/
System.Console/ //Hello World依赖的库

.kpm下有所有restore下载的库,而.kvm目录下其实是多个KVM环境,不多说了。

尝试运行HelloWeb

可能看多了各种AspNet vNext的尝试文章,会看花了眼,老想着用k web命令运行web程序。其实目前在mac系统下,还不支持self-host。所以我们要使用一个server。

先回到samples目录下,进入HelloWeb,kpm restore后:

[wbc@mbp:HelloWeb]$k kestrel
Started

这时就可以访问localhost:5004了,出现一个welcome页面。

k 后面跟随的参数应该是和project.json中配置的commands节一致。

然后如何停止kestrel?使用常用的CTRL+C并不能中止kestrel,也尝试了CTRL+D,也不行。最后发现CTRL+Z可以,但也不完全,再次运行k kestrel的时候会提示地址已占用。所以,最终还是要去用ps命令找到进程号,用kill -9 [pid] 解决。

尝试HelloMvc

restore有点问题,尝试失败。可能是示例程序依赖的库,在mac下还没有准备好,不仔细排查了,等正式版。

总结

虽然目前正式版还没出来,各项目还有不完善的地方,但前途还是光明的。

如果vNext正式版发布后,能出现一个类似ROR中的rails脚手架等功能,那肯定能在非windows社区中获得更大的人气。

将.Net从VS中解放出来,会更有生命力。

参考:

[2014-08-18]初尝 AspNet vNext On Mac的更多相关文章

  1. 在MyEclipse配置自己安装的Tomcat(2014.08.18)

    今天因为要在tomcat下运行一个java项目,第一次嘛,遇到了不少问题,总结分享一下: 第一次,我直接将 MyEclipse 生成的项目放到 tomcat 安装目录的 webapps 目录下,运行出 ...

  2. Sysinternals Suite 2014.08.18

    Windows Sysinternals Suite 是一套由微软官方免费提供的系统工具集,其中包含了大量超级实的优秀绿色小软件,譬如 Desktops (虚拟桌面).Process Explorer ...

  3. 初尝Windows 下批处理编程

    本文叫“ 初尝Windows 下批处理编程”是为了延续上一篇“初尝 Perl”,其实对于博主而言批处理以及批处理编程早就接触过了. 本文包括以下内容 1.什么是批处理 2.常用批处理命令 3.简介批处 ...

  4. 初尝 Perl

    本文将阐述以下几方面内容: 1.什么是Perl 2.Perl有什么用 3.Windows 下的Perl环境搭建 4.Perl 版Hello World 5.Perl 语法梗概 6.一些参考资料 什么是 ...

  5. seajs初尝 加载jquery返回null解决学习日志含示例下载

    原文地址:http://www.tuicool.com/articles/bmuaEb 如需demo示例,请点击下方链接下载: http://yunpan.cn/cVEybKs8nV7CF  提取码 ...

  6. .NET领域驱动设计—初尝(三:穿过迷雾走向光明)

    开篇介绍 在开始这篇富有某种奇妙感觉的文章之旅时我们先短暂的讨论一下关于软件开发方法论的简要: 纵观软件开发方法论,从瀑布模型.螺旋模型.RUP(统一软件开发过程).XP(极限编程).Agile(敏捷 ...

  7. 学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》

    我们分享的上一篇文章是一位学长在大三的时候面试阿里实习生成功的经历的分享,其实就像学长在上一篇文章最后说的那样“面试并没有想的那么难,运气也会占一部分.”,其实我个人觉得,对于我们而言,自己越努力就会 ...

  8. 初尝微信小程序2-Swiper组件、导航栏标题配置

    swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...

  9. js 时间 Fri Dec 12 2014 08:00:00 GMT+0800

    第一种var d = new Date('Fri Dec 12 2014 08:00:00 GMT+0800'); ) + '-' + d.getDate() + ' ' + d.getHours() ...

随机推荐

  1. laravel 事件监听

    事件监听器监听到事件发生后会执行一些操作,Laravel使用观察者模式来实现这种监听机制 操作顺序:1.注册事件和监听器 -> 2.定义事件类 -> 3.定义监听类 -> 4.触发事 ...

  2. electron入门代码

    Electron 提供了一个实时构建桌面应用的纯 JavaScript 环境.Electron 可以获取到你定义在 package.json 中 main 文件内容,然后执行它.通过这个文件(通常我们 ...

  3. Python学习记录----IDE安装

    摘要: 安装eric5 一 确定python版本 安装的最新版本:python3.3 下载连接:http://www.python.org/getit/ 二 确定pyqt版本 安装的最新版本:PyQt ...

  4. python自动化运维:系统基础信息模块

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 第一章: 首先介绍下系统性能信息模块:psutil psutil能够轻松实现获取系统 ...

  5. Python网络数据采集2-wikipedia

    Python网络数据采集2-wikipedia 随机链接跳转 获取维基百科的词条超链接,并随机跳转.可能侧边栏和低栏会有其他链接.这不是我们想要的,所以定位到正文.正文在id为bodyContent的 ...

  6. 用vector实现dijkstra

    #include <stdio.h> #include <string.h> #include <string> #include <vector> # ...

  7. 表达式求值(二叉树方法/C++语言描述)(三)

    二叉树方法求值对运算数处理的方法与栈方法求值不太相同,除了将字符串中的运算数转换为浮点类型外,还需要生成新的节点: void Calculator::dealWithNumber(char *& ...

  8. mysql-python 安装

    [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# gcc -v    查看是否安装gcc 若报错则未安装 [root@localh ...

  9. Numpy 操作

    一.Numpy 属性 # 列表转化为矩阵 In []: arr = np.array([[,,],[,,]]) In []: arr Out[]: array([[, , ], [, , ]]) 1, ...

  10. struts2相关简单介绍

    一 Struts2环境配置 1.准备jar包,核心jar包有: 2.创建Struts2项目并导入jar包 3.在Struts2项目中src下创建Struts.xml配置文件 4.在Web.xml文件中 ...