[2014-08-18]初尝 AspNet vNext On Mac
网上关于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中解放出来,会更有生命力。
参考:
- ASP.NET vNext 概述
- 在Linux上运行ASP.NET vNext
- 开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)
- #107:An exception was thrown by the type initializer for HttpApi
[2014-08-18]初尝 AspNet vNext On Mac的更多相关文章
- 在MyEclipse配置自己安装的Tomcat(2014.08.18)
今天因为要在tomcat下运行一个java项目,第一次嘛,遇到了不少问题,总结分享一下: 第一次,我直接将 MyEclipse 生成的项目放到 tomcat 安装目录的 webapps 目录下,运行出 ...
- Sysinternals Suite 2014.08.18
Windows Sysinternals Suite 是一套由微软官方免费提供的系统工具集,其中包含了大量超级实的优秀绿色小软件,譬如 Desktops (虚拟桌面).Process Explorer ...
- 初尝Windows 下批处理编程
本文叫“ 初尝Windows 下批处理编程”是为了延续上一篇“初尝 Perl”,其实对于博主而言批处理以及批处理编程早就接触过了. 本文包括以下内容 1.什么是批处理 2.常用批处理命令 3.简介批处 ...
- 初尝 Perl
本文将阐述以下几方面内容: 1.什么是Perl 2.Perl有什么用 3.Windows 下的Perl环境搭建 4.Perl 版Hello World 5.Perl 语法梗概 6.一些参考资料 什么是 ...
- seajs初尝 加载jquery返回null解决学习日志含示例下载
原文地址:http://www.tuicool.com/articles/bmuaEb 如需demo示例,请点击下方链接下载: http://yunpan.cn/cVEybKs8nV7CF 提取码 ...
- .NET领域驱动设计—初尝(三:穿过迷雾走向光明)
开篇介绍 在开始这篇富有某种奇妙感觉的文章之旅时我们先短暂的讨论一下关于软件开发方法论的简要: 纵观软件开发方法论,从瀑布模型.螺旋模型.RUP(统一软件开发过程).XP(极限编程).Agile(敏捷 ...
- 学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》
我们分享的上一篇文章是一位学长在大三的时候面试阿里实习生成功的经历的分享,其实就像学长在上一篇文章最后说的那样“面试并没有想的那么难,运气也会占一部分.”,其实我个人觉得,对于我们而言,自己越努力就会 ...
- 初尝微信小程序2-Swiper组件、导航栏标题配置
swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...
- 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() ...
随机推荐
- (转)FastJson---高性能JSON开发包
场景:javaBean对象转化为json对象! 1 Fastjson介绍 Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发.1.遵循http://json.org标准,为其官 ...
- Spring源码情操陶冶-AbstractApplicationContext#finishBeanFactoryInitialization
承接前文Spring源码情操陶冶-AbstractApplicationContext#registerListeners 约定web.xml配置的contextClass为默认值XmlWebAppl ...
- 一步一步学Vue(八)
本篇完成如下场景: 1.系统包含首页.客户信息查询.登录三个模块 2.默认进入系统首页,如果要进行用户查询,则需要进行登录授权 3.查询用户后点击列表项,则进入详情页面 基于上述场景需求描述,在客户端 ...
- JStorm与Storm源码分析(一)--nimbus-data
Nimbus里定义了一些共享数据结构,比如nimbus-data. nimbus-data结构里定义了很多公用的数据,请看下面代码: (defn nimbus-data [conf inimbus] ...
- 解决input[type=file]打开时慢、卡顿问题
经过测试发现,在mac里面safari.Firefox.Chrome(opera不知道为啥老闪退)都没有卡顿问题 在windows里面,Firefox不卡顿,只有Chrome卡顿. 然而,这个插件是从 ...
- Java基础之集合框架类及泛型简介
Collection接口 Collection 通用的常见方法 add()添加一个元素,可以指定脚标 addAll()将一个collection放入 clear()清除 remove()删除元素,返回 ...
- 利用Apache commons-net 包进行FTP文件和文件夹的上传与下载
首先声明:这段代码是我在网上胡乱找的,调试后可用. 需要提前导入jar包,我导入的是:commons-net-3.0.1,在网上可以下载到.以下为源码,其中文件夹的下载存在问题:FTPFile[] a ...
- 虚拟机下克隆3个centos系统并配置IP访问网络(转载)
此文是保证linux系统能够上网 先查看本机的IP 打开虚拟机,更改虚拟机为桥接方式 在第一个虚拟机上打开终端,在命令行输入setup,选择NETWORK CONFIGRATION 回车后, 配置IP ...
- NYOJ--27--dfs--水池数目
/* Name: NYOJ--27--水池数目 Author: shen_渊 Date: 17/04/17 15:42 Description: 经典dfs水题,,, */ #include<i ...
- js获取url,截取url参数,截取url后文件名
获取当前: var url = window.location.href; 百度为例: var url=window.location.href; console.info(url); http:// ...