写在前面

阅读目录:

前两天写了这样一篇博文《Building Modern Web Apps-构建现代的 Web 应用程序(一些感想)》,在博文的最后我有提到:

我个人觉得 MSDN 应该是 .NET 程序员常去的社区,为什么?当你还在纠结 ASP.NET Web Forms 和 ASP.NET MVC 时,你所不知道的是,人家已经在 Mac OS 中使用 ASP.NET vNext 了。

关于 Mac OS 中构建 ASP.NET vNext,虽然 ASP.NET vNext 正式版本还没发布,但是老外早就已经在尝试了,甚至有个哥们录制了一段视频上传到 YouTube,那我觉得咱们博客园也不能落后,下面摘自我在 Mac OS X 系统中构建 ASP.NET vNext 的一些笔记,希望对那些狂热 .NET 的童鞋们一些帮助。

需要声明的是,其实我对 Mac OS X 系统以及 Mono 并不是很熟悉,因为当时时间有限,一些配置都是 Google 找的英文资料,所以有些地方我也是“知其然而不知所以然”,希望有时间可以深入研究下,本篇博文内容你可以当作一个教程来读。

娓娓道来

首先,我先大致列一下,在 Mac OS X 系统中需要配置或安装的东西:

1. Install ASP.NET vNext Command Line Tools

这一部分我们的目的是:To install KVM(K Version Manager) and the correct version of Mono on OS X using Homebrew.

1.1 安装 Homebrew

什么是 Homebrew?

Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn’t include with OS X.

我们能够通过终端方便的使用它安装管理苹果没有自带的 UNIX 相关工具软件,这个很重要,因为下面我们所进行的安装都是在“终端命令”中进行的,Homebrew 安装命令为:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Mac OS X 已经自带 ruby,所以我们可以直接使用 ruby,以上命令直接在粘贴在终端中执行,详细使用请参考:Homebrew

1.2 使用 Homebrew,安装 KVM

  • Run command brew tap aspnet/k to tap the ASP.NET vNext related git repositories.
  • Run command brew install kvm to install KVM. This also automatically install the latest KRE package from https://www.myget.org/f/aspnetmaster/api/v2 feed.
  • Run command source kvm.sh on your terminal if your terminal cannot understand kvm.

注:下载并安装 KVM 花的时间会比较长,最后一个命令是检测 KVM 是否已经成功安装。

2. Install Sublime Text 3

关于 Sublime Text,不管是 Windows,Mac OS,还是 Linux,我们应该或多或少的接触过,功能强大就不多说了。在 Mac OS 中打代码,虽然没有 Visual Studio,但是我们有 Sublime Text,下载地址:http://www.sublimetext.com/3

3. Install Sublime Kulture Using the Package Control Plugin

3.1 Install Package Control Plugin

Package Control Plugin 是什么?它在 Sublime Text 中的作用,可以理解为终端在 Mac OS 中的作用一样,比如下面我们启动或编译 ASP.NET vNext 项目,就是通过 Package Control Plugin 命令,了解更多内容

两种安装方式,具体可参照官方说明:https://sublime.wbond.net/installation

命令安装:

  1. 打开 Sublime Text 3。
  2. 按 Ctrl+` 或 View > Show Console,调出 Console。
  3. 粘贴以下代码到底部命令行并回车:
    import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
  4. 重启 Sublime Text 3。
  5. 如果在 Perferences->package settings 中看到 package control 这一项,则安装成功。

如果命令安装方式不成功,请尝试手动安装(我当时好像就是这种方式安装的):

  1. 打开 Sublime Text 3。
  2. 选择 Preferences > Browse Packages…
  3. 打开这个文件夹,进入 Installed Packages 文件夹(没有的话,自己创建一个)。
  4. 下载 Package Control.sublime-package 文件,然后复制到 Installed Packages 文件夹下。
  5. 重启 Sublime Text 3

3.2 Install Sublime Kulture

Sublime Kulture 是什么?其实我也不是很清楚,你可以把它看作是 Sublime Text 3 支持 ASP.NET vNext 的一种插件,github 官方地址:https://github.com/ligershark/kulture/

命令安装:

  1. 打开 Sublime Text 3。
  2. 按下 Cmd+Shift+P 调出命令面板。
  3. 输入并选择 Package Control: Install Package
  4. 输入并选择 Kulture,然后进行安装。

手动安装:

  1. 打开终端,输入命令:cd file:///Users/{username}/Library/Application Support/Sublime Text 3/Packages/
  2. 进入 Packages 目录下,输入命令:git clone https://github.com/ligershark/Kulture.git,将 Kulture 克隆到 Packages 文件夹下。

4. Samples Test

做完以上操作,我们基本上就可以使用 Sublime Text 3 开发 ASP.NET vNext 应用程序了,我们使用 GitHub 上一个开源示例作为演示,地址:https://github.com/shirhatti/Home.git

4.1 Home 演示项目克隆到本地

在 Mac OS 中随便找个目录,在终端中输入命令:git clone https://github.com/shirhatti/Home.git

打开 Home > Samples 目录,我们会发现里面有三个项目文件夹:ConsoleApp,HelloMvc 和 HelloWeb,这边我们使用 HelloMvc(ASP.NET MVC),作为演示项目。

4.2 在 Sublime Text 3 中,打开 HelloMvc

操作步骤:

  1. 打开 Sublime Text 3,然后打开 File > Open,选择 HelloMvc 文件夹。
  2. 打开 Tools > Build System,选择 ASP.NET 选项。

Sublime Text 3 视图:

4.3 在 Sublime Text 3 中,恢复 NuGet 程序包

演示项目 HelloMvc,是我们从 github 上克隆下来的源代码,但是项目依赖的程序包,需要我们手动恢复,恢复 NuGet 程序包步骤:

  1. 按下 Cmd + Shift + P 调出命令面板。
  2. 选择 Run K Commands 命令并回车。
  3. 选择 kpm restore 命令并回车。

4.4 在 Sublime Text 3 中,编译并运行 HelloMvc

编译命令:Cmd + B 或 F7,使用 Shft + F4 定位错误。

启动并运行 HelloMvc:

  1. 按下 Cmd + Shift + P 调出命令面板。
  2. 选择 Run K Commands 命令并回车。
  3. 选择 k kestrel 命令并回车。

启动成功:

我们可以在 peoject.json 中指定 host 地址,比如:"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5000"

浏览器输入:http://localhost:5000/

5. generator-aspnet

其实以上操作,我们只是根据现有项目编译并运行,那如何构建一个新的 ASP.NET vNext 应用程序呢?就像我们使用 Visual Studio New Project 一样,答案是 generator-aspnet

在安装 generator-aspnet 之前,必须先安装 node.js(This requires you to have node.js and npm already installed)。

官方安装命令:npm install -g generator-aspnet,但是我安装的时候不知道怎么回事报错,具体什么原因我现在也记不得了,大概的解决方式是在命令之前加“sudo”,参考资料:latest angular generator throwing out so many errors on my macbook pro

安装命令(测试可行):

  • sudo npm install -g yo
  • sudo npm install -g generator-aspnet

使用命令:yo aspnet,详细演示:

写在最后

补充:通过OmniSharp,Sublime写C#代码也能智能感知啦(包括Vim, Emacs, Atom, Brackets) http://www.omnisharp.net/

让 ASP.NET vNext 在 Mac OS 中飞呀飞,这个飞的过程,现在看来真是不太容易,前后断断续续花了三天时间,有些记录的地方可能也不是很准确,但不管怎样,总算分享出来了,如果无意间某一点的内容能帮到你,我觉得这个分享就值了。

了解更多 ASP.NET vNext:

本篇参考资料:

让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。的更多相关文章

  1. ASP.NET vNext 在 Mac OS

    让 ASP.NET vNext 在 Mac OS 中飞呀飞...   写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homeb ...

  2. Qt在windows与Mac OS中获取执行程序版本号

    1 windows中获取执行文件exe的版本号   QString GetFileVertion(QString aFullName) { QString vRetVersion; string vF ...

  3. VMware Mac OS中无法找到适应的分辨率的解决办法

    使用VMware安装的Mac OS中,有时在显示器的分辨率中的选择项里面,没有对应显示的分辨率可供选择的时候(无法自适应),可以在虚拟机设置里,显示器中修改强制分辨率.修改过后重启虚拟机,就可以有对应 ...

  4. mac os中的一些快捷键使用及基础软件安装

    mac os中terminal标签页的切换 Command+Shift+{} { 切换到左边的标签页 }  切换到右边的标签页 普通键盘对应于mac下的按键: CTRL->CONTROL WIN ...

  5. MAC OS 中mount nfs 报错问题.

    记一下 MAC OS 中mount nfs 报错问题. 环境和配置文件 NFS 服务端 Ubuntu 安装 apt install nfs-kernel-server 服务端的配置文件 cat /et ...

  6. 如何在mac os中安装gdb及为gdb进行代码签名

    1. 安装gdb GDB作为一个强大的c/c++调试工具,一直是程序猿们的良好伴侣,但转到Mac os才发现竟然没有默认安装,所幸还有强大的homebrew工具: brew install homeb ...

  7. MAC OS中使用ll,la命令

    在linux下习惯了使用ll.la等ls别名 用mac os发现没有这样的命令,很不方便. 其实只要在用户目录下建立一个脚本“.bash_profile”,并输入以下内容即可:alias ll='ls ...

  8. 在mac os 中安装 autoconf and automake

    转载地址:http://www.mattvsworld.com/blog/2010/02/install-the-latest-autoconf-and-automake-on-mac-os-10-6 ...

  9. Mac OS中使用VScode配置C语言开发环境

    个人博客 chinazt.cc 闲话少叙,直奔主题 下载VSCode https://code.visualstudio.com/download 安装C/C++插件 需要两个插件: 1. cppto ...

随机推荐

  1. 实时的.NET程序错误监控产品Exceptionless

    Exceptionless可以对ASP.NET, Web API, WebForms, WPF, Console, 和 MVC 应用提供错误监控.上传.报表服务.使用时需要在Exceptionless ...

  2. Dapper扩展之~~~Dapper.Contrib

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型 ...

  3. P2V之后的磁盘扩容新思路

    背景: 原先的物理机环境多是若干块物理磁盘经过RAID卡进行了RAID5之后的虚拟磁盘组,这样我们在操作系统内看到的也就是一块完整的磁盘.我们会在上面进行分区,然后格式化后以便使用. Figure 1 ...

  4. AutoMapper的介绍与使用(一)

    软件环境 vs2015 asp.net mvc 5 .NET Framework 4.5.2 AutoMapper 5.2.0.0 AutoMapper安装 新建asp.net mvc 项目 Auto ...

  5. Java程序:从命令行接收多个数字,求和并输出结果

    一.设计思想:由于命令行接收的是字符串类型,因此应先将字符串类型转化为整型或其他字符型,然后利用for循环求和并输出结果 二.程序流程图: 三.源程序代码:   //王荣荣 2016/9/23     ...

  6. iOS自定义model排序

    在开发过程中,可能需要按照model的某种属性排序. 1.自定义model @interface Person : NSObject @property (nonatomic,copy) NSStri ...

  7. Linux下高cpu解决方案

    昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客 ...

  8. [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...

  9. Spring MVC数据校验

    在web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对 数据进行验证.输入验证分为客户端验证与服务器端验证.客户端验证主要通过JavaScript脚本进行,而服务器端验证则主要通过Jav ...

  10. SVG:textPath深入理解

    SVG的文本可以沿着一条自定义的Path来排布,比如曲线.圆形等等,使用方式如下所示(来源MDN): <svg viewBox="0 0 1000 300" xmlns=&q ...