在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站
在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站¶
警告
您当前查看的页面是未经授权的转载!
如果当前版本排版错误,请前往查看最新版本:http://www.cnblogs.com/qin-nz/p/aspnet5-first-app-on-mac-os.html
提示
更新时间:2016年01月20日。
相信用 Mac 作为主力机型的各位是不会玩 ASP.NET 的,所以我真的很怀疑我这篇文章会有人看么?
安装 .NET 版本管理器(DNVM)¶
首先,我们需要安装 .NET 版本管理器,其实就是一个脚本文件用来帮助下载和管理 OS X 上都安装了哪些.NET运行时的版本。
打开终端,输入
curl -sSL \
https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh \
| DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
安装完成之后,就可以运行 dnvm 命令了,不带任何参数的情况下会显示帮助文件。
安装 .NET 运行环境(DNX)¶
首先,你需要选择安装 mono 还是 coreclr ,从 beta7 开始 coreclr 已经可以用了,不过截至目前,默认安装的是 mono 版的。
如果想要安装mono版的DNX,必须先安装 mono,详情可参考 Install Mono on Mac OS X
小技巧
Visual Studio Code 需要 mono 才能提供调试等高级功能。
本文选择coreclr版的运行时,通过以下命令获取最新版的 coreclr ,默认是 x64 。
dnvm upgrade -r coreclr
目前的最新版是 1.0.0-rc1-update1,安装完成后,可以使用 dnvm list 查看现有的.NET 运行环境(DNX)。

好了,到目前为止,你已经完成了所有的安装,可以使用你最钟爱的文本编辑器开始从头创建代码了。 我推荐用 Visual Studio Code
安装初始代码生成器¶
然而,你真的打算从零开始么?如果不是的话,还是从已有的模板开始吧。下面介绍的 Yeoman 是帮助我们生成一个初始的项目的。
想要安装 Yeoman ,那要先安装 npm 才可以。我记得我装了 XCode 之后,就有npm了。
安装 Yeoman 和 bower¶
npm install -g yo bower grunt-cli gulp
安装 OmniSharp ASP.NET generators¶
OmniSharp ASP.NET generators ,这个才是用来生成模板的东西,它需要用Yeoman来运行,不过这一步很简单,只需运行
npm install -g generator-aspnet
按照模板创建项目¶
使用 yo aspnet 命令,选择需要创建的类型。如果是网站的话,建议选择 Web Application ,可以选择完整版或者基本版。
完整版包含了用户的鉴权和登录管理,引用文件很多,如果处于学习目的,还是先选择basic的比较适合。

选择后,输入项目名字,即可生成完成。
警告
目前有个小bug,创建完文件后,这个程序貌似不能直接退出。
切换到生成的项目文件目录,运行 dnu restore 和 bower install 分别恢复服务器端和浏览器端的包引用。
注解
有关 dnu restore 和 bower install 的区别,请参考 ASP.NET Core 1.0 中的依赖项管理
运行代码¶
接下来,使用 dnx web 就应该可以把程序编译并运行起来了。
如果你非要用 dnu build 自己编译一下,会发现提示编译失败……原因是 project.json 文件中, dnx451 一行会指示编译器针对 .NET Framework 4.5.1 在 Mac 上编译,这显然是不可能的。
如果你只想让程序运行于 .NET Core 5 上,那么可以把这行删掉。
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"tooling": {
"defaultNamespace": "basic"
},
"dependencies": {
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions" : "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"frameworks": {
"dnx451": {},
"dnxcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-*"
}
}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"scripts": {
"prepublish": [
"npm install",
"bower install",
"gulp clean",
"gulp min"
]
}
}
现在依次使用 dnu restore 、 dnu buili (可选) 和 dnx web 把程序运行起来了,打开浏览器,访问 http://localhost:5000 即可看到网站。
小技巧
运行ASP.NET Core 1.0 的 web 服务器是 Kestrel,可以通过 project.json 进行 Kestrel 的配置。

好的,现在你已经可以成功的运行一个简单的 ASP.NET Core 1.0 的网站了。
声明 
在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站 由 勤奋的小孩 创作,采用 知识共享 署名-相同方式共享 4.0 国际 许可协议进行许可。
本许可协议授权之外的使用权限可以从 http://space.cnblogs.com/msg/send/qin-nz 处获得。
在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站的更多相关文章
- 在 Mac OS 上使用 TypeScript 编写 ASP.NET Core 1.0 应用
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- ASP.NET Core 中文文档 第二章 指南(1)用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序
原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 作者:Daniel Roth.Steve Smith ...
- 在IIS上发布并运行ASP.NET Core
英文原文地址:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Application ...
- 跨平台运行ASP.NET Core 1.0
前言 首先提一下微软更名后的叫法: ASP.NET 5 更名为 ASP.NET Core 1.0 .NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为 ...
- 跨平台运行ASP.NET Core 1.0(转载)
前言 首先提一下微软更名后的叫法: ASP.NET 5 更名为 ASP.NET Core 1.0 .NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为 ...
- 在Linux上用supervisor运行ASP.NET Core站点的一个坑
将一个ASP.NET Core站点在Linux服务器上以self-contained部署方式发布出来后,直接在终端上运行下面的命令,站点可以正常运行. /data/AboutUs/bin/Debug/ ...
- 在 Mac 上通过 Docker 运行 Asp.net Core 简易教程
首先,你需要在 Mac 上安装好 Docker 下载地址 https://download.docker.com/mac/stable/Docker.dmg 或者查看别人的 安装教程 怎么安装这里就不 ...
- Ubuntu 安装 CLI 并运行 ASP.NET Core 1.0
Ubuntu 下载地址:http://www.ubuntu.org.cn/download/desktop 注:目前 CLI 的安装命令只支持 Ubuntu 14.04,暂不支持 Ubuntu 14. ...
- 丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
随机推荐
- javascript篇-----函数作用域,函数作用域链和声明提前
在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于 ...
- MySQL root密码找回
以MySQL多实例为例,演示找回MySQL root的密码 1.关闭mysql服务 [root@mysql ~]# mysqladmin -uroot -poldboy123 -S /data/330 ...
- NSURLCache详解和使用
使用缓存的目的是为了使应用程序能更快速的响应用户输入,是程序高效的运行.有时候我们需要将远程web服务器获取的数据缓存起来,以空间换取时间,减少对同一个url多次请求,减轻服务器的压力,优化客户端网络 ...
- UNICODE 7.0定义的表情符
td.graph { font-size:24px; } UNICODE 7.0定义了78个表情符,从0x1F600到0x1F64F(其中0x1F643和0x1F644没有定义).下表中列出了这些表情 ...
- Java Sha1 加密算法
//下面四个import放在类名前面 包名后面 //import java.io.UnsupportedEncodingException; //import java.security.Messag ...
- java_method_stringUtils
/** * 字符串英文单双引号处理,将中英文引号转为中文的引号 * @param temp * @return */ public static String getStringDatabase(St ...
- java中的static使用--静态变量、静态方法
Java 中的 static 使用之静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 s ...
- 记一次创建LVM的日志记录
先上一张鸟哥LVM的图.感觉这张最清楚了. #以下以Xshell的日志记录系统直接记录.上面添加了一些个人理解的注释 [BEGIN] 2016/9/13 9:22:24 #先查看下硬盘的情况. [ro ...
- tomcat(二)--tomcat结构
Tomcat结构及组件介绍 上面的层次结构在server.xml中有体现 <Server> <Service> <Connector> <Engine> ...
- 关于Linkedlist 和 ArrayDeque的讨论
转自:http://blog.csdn.net/f2006116/article/details/51375470 其中:我们要讨论的LinkedList和ArrayDeque都是实现Deque接口, ...