转载

在 Mac OS 上创建并运行 ASP.NET 5 网站

在 Mac OS 上创建并运行 ASP.NET 5 网站¶

提示

本文链接: http://cnblogs.com/qin-nz/p/5035619.html 或 http://blog.qin.nz/aspnet5/aspnet5-first-app-on-mac-os.html

相信用 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

注解

据说使用mono版的在还原包的时候还可能出问题。

本文选择coreclr版的运行时,通过以下命令获取最新版的 coreclr ,默认是 x64 。

dnvm upgrade -r coreclr

目前的最新版是 1.0.0-rc1-update1 ,安装完成后,可以使用 dnvm list 查看现有的.NET 运行环境(DNX)。

在 Mac OS 上创建并运行 ASP.NET 5 网站

好了,到目前为止,你已经完成了所有的安装,可以使用你最钟爱的文本编辑器开始从头创建代码了。 我推荐用 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的比较适合。

在 Mac OS 上创建并运行 ASP.NET 5 网站

选择后,输入项目名字,即可生成完成。

警告

目前有个小bug,创建完文件后,这个程序貌似不能直接退出。

切换到生成的项目文件目录,运行 dnu restorebower install 分别恢复服务器端和浏览器端的包引用。

注解

有关 dnu restorebower install 的区别,请参考 ASP.NET 5 中的依赖项管理

运行代码¶

接下来,理论上使用 dnu build (可选项) 和 dnx web 就应该可以把程序运行起来了。 但实际上,我们需要找到 project.json 文件,把运行框架中的 dotnet451 一行删掉才可以在 Mac 上通过编译。

{   "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": {}   },    "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 restorednu buili (可选) 和 dnx web 把程序运行起来了,打开浏览器,访问 http://localhost:5000 即可看到网站。

小技巧

运行ASP.NET 5 的 web 服务器是 Kestrel,可以通过 project.json 进行 Kestrel 的配置。

在 Mac OS 上创建并运行 ASP.NET 5 网站

好的,现在你已经可以成功的运行一个简单的 ASP.NET 5 的网站了。

后续步骤¶

ASP.NET 5 入门——了解一个空项目

Application Startup 介绍

正文到此结束
Loading...