现在微软出了新的跨平台编译器Visual Studio Code,能够横跨Linux、Mac、Windows并在其上面进行web开发,现在ASP.NET已经出到了5.0了而且MVC框架也已近出到6.0.下面我就来写我在Mac上安装Visual Studio Code和与其依赖的环境。
安装Visual Studio Code
可以在这里下载Visual Studio Code的安装包,下载到硬盘后把下载的包拖到你机器的Application目录中就安装完成了,现在的最新版本是Visual Studio Code 1.3。 下载完成后你可以安装相应的扩展(除了第一个强烈要求安装外其余的可以看各自需要): * C# for Visual Studio Code (powered by OmniSharp)(启动VS Code按(⌘+P)快捷键然后复制ext install csharp命令到扩展查询框中接着按enter键。这个扩展提供了高亮语法,Debugging等的支持) * Auto Close Tag(安装方法类似上面的)
安装.NET Core SDK
Net Core是什么,其实可以看做是一个所有微软框架的基础,他是.Net Framework和跨平台框架mono(mono其实是更具.Net Framework重新实现的跨平台版本)的基石,以前的.Net Framework框架和mono是两个独立的框架,那么可能有些与跨平台无关的代码重复实现了,现在有Net Core框架,他是所有的微软框架的技术栈,都是依托它搭建起来,当然现在还才开始,Net Core实现的内容还不多,不过微软以后的趋势就是这样的。
安装.NET Core前必须确保安装了openssl的最新版本,用brew安装可以用以下命令
brew install openssl
brew link --force openssl
然后在这里下载安装.NET Core就可以了。
注意:如果你安装了oh-my-zsh,你可能会遇到一个错误,安装完.NET Core后它的dotnet命令没有在你的PATH里面,你可以用命令(sudo ln -s /usr/local/share/dotnet/dotnet /usr/local/bin)修复它
现在你可以初始化一些代码了
用以下命令初始化一个简单的Hello World应用
mkdir hwapp
cd hwapp
dotnet new
运行应用程序
下面的第一个命令将恢复指定在project.json文件中的包,第二个命令将运行实际的项目。
dotnet restore
dotnet run
你可以创建一个web站点
- 就利用上面的项目,你可以更新上面的项目的project.json文件,在中间添加一行依赖于Kestrel HTTP服务包,加入后记得运行dotnet restore命令去恢复包,加入后大概类似以下部分。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
- 添加一个Startup.cs(这个文件是所有的web的入口,是必须的)文件去定义请求逻辑,类似以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
- 更新修改Program.cs去建立和启动这个Web主机(host):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
运行这个APP(这个dotnet run命令在这个APP有改动的时候自动编译它再运行)
dotnet run
在浏览器键入http://localhost:5000打开这个web网站(你可以用Ctrl+C停止这个服务)
利用Yeoman来生成一个项目模板
Yeoman是一个完整项目生成器,他是一个开源的工具,他可以生成出来像一个Visual Studio项目模板等等。
安装Yeoman
首先要安装Yeoman所依赖的Node.js,你可以这里下载安装Node.js.然后要安装npm,可以在这里下载安装。接下来用npm安装Yeoman,bower,grunt和gulp
sudo npm install -g yo bower grunt-cli gulp
安装ASP.NET模板生成器(-g标识是全局生成器,可以再任何路径使用)
sudo npm install -g generator-aspnet
创建一个ASP.NET应用
键入如下命令
mkdir src
cd src
yo aspnet
选中Web Application选项按enter,键入项目名字mywebapp,然后键入一下命令
dotnet restore
编译和运行可以键入一下命令,其中dotnet build是可选命令,每次运行时都会重新编译一下。
dotnet build
dotnet run
打开浏览器,导航到http://localhost:5000可以看界面。至此一个简单web站点搭建成功。
利用yo可以添加类到现存项目中
进入如下命令
yo aspnet:Class Person
结果是一个命名为Person.cs的文件被建立,如下Person:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
扩展
ASP.NET 5.0已经正式更名为 ASP.NET CORE,现在都存在于.NET Core SDK中。 关于Kestrel,它是一个跨平台的web服务是基于libuv的,你添加Kestrel的支持必须添加Microsoft.AspNetCore.Server.Kestrel到你的项目的project.json依赖列表中。Kestrel他是跑到一个代理服务后面的(例如IIS或者Nginx),它自己是不面向网络的,你可以在一个服务中配置代理请求转发到Kestrel处理。