本文出自 我的 github
2016年6月28日微軟在 RedHat 峰會上發布了 .NET Core 1.0、ASP.NET Core 1.0 和 Entity Framework Core 1.0。Net Core 是 .Net 基金會推出的新一代 .Net 平臺,能支持 Windows、macOS 和 Linux 平臺。Windows 平臺下使用 Visual Studio 2015 就可以創建和打開 ASP.NET Core 項目了,今天試試在 macOS 下體驗 ASP.NET Core
安裝 .Net Core SDK
.Net Core SDK 要求 macOS 必須是10.11 (El Capitan) 或者更高版本,幸好我一直都是用最新的系統
安裝 .Net Core SDK 之前要先通過 Homebrew 安裝 OpenSSL
$ brew update
$ brew install openssl
$ brew link --force openssl
下載安裝 .Net Core SDK ,目前微軟在 macOS 平臺下只發布了 .Net Core 的正式版本1.0,.Net Core SDK 能下載到的依舊是 Preview 2 的版本,相信 .Net Core SDK 正式版本很快會發布
參考:.Net Core
第一個 ASP.Net Core 應用
安裝好 .Net Core SDK 之后開始創建一個 Hello World 應用吧
$ mkdir aspnetcoreapp
$ cd aspnetcoreapp
$ dotnet new
更新項目目錄下的 project.json 文件,增加 Kestrel HTTP server 包到 dependencies 中
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
}
}
}
執行 dotnet restore 命令,安裝依賴包
$ dotnet restore
在項目目錄下添加 Startup.cs 文件,代碼如下:
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
namespace aspnetcoreapp
{
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.Run(context =>
{
return context.Response.WriteAsync("Hello from ASP.NET Core!");
});
}
}
}
更新項目目錄下的 Program.cs 文件,代碼如下:
using System;
using Microsoft.AspNetCore.Hosting;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
}
在終端執行 dotnet run 命令運行我們創建的應用
$ dotnet run
第一個 ASP.NET Core 引用已經運行起來了!
使用 Xamarin Studio 作為 ASP.NET Core 的集成開發工具
下載和安裝最新版本的 Xamarin Studio
由于 Xamarin Studio 是在線安裝的,再加上國內網絡環境的原因,我們很難在線安裝好它
這里我推薦一個 Xamarin Installtion Mainifest,直接用下載軟件下載所需組件并安裝
安裝開發所需 Add-ins
打開 Xamarin Studio,點擊菜單 Xamarin Studio 下的 Add-ins,在 Add-in Manger 里點擊 Gallery 選項卡,點擊 Repository 下拉菜單,選擇 Manage Repositories ,勾選上 Xamarin Studio Add-in Repository(Alpha channel),然后關閉窗口
在 Add-in Manger 里點擊 Repository 下拉菜單,選擇 Xamarin Studio Add-in Repository(Alpha channel),在 IDE extensions 節點下找到 DNX 和 VSCodeDebugger 并安裝
DNX 為 Xamarin Studio 增加創建 .Net Core 項目的功能,VSCodeDebugger 為 Xamarin Studio 增加.Net Core 項目的調試功能
使用 Xamarin Studio
安裝好 Add-ins 后,重新啟動 Xamarin,點擊菜單 File -> New -> Solution,點擊 Other 的列表項中的 .Net Core,我們看到這里可以創建 .Net Core 控制臺應用 和 .Net Core Web 應用了
我直接從 Github 上拉取了一個 asp.net 的經典 Sample - MusicStore,這個 Sample 是基于 ASP.Net 5(ASP.NET Core 之前的名字)創建的,然后雙擊 MusicStore 目錄下的 MusicStore.sln 文件,直接使用 Xamarin Studio 打開了該解決方案。不過這里報了一個錯誤,可能由于這個項目是在 Windows 下創建的,有一些不兼容吧。不過后面我發現這沒什么影響,因為只有一個叫 MusicStore.Standalone 的項目沒有正確加載,MusicStroe 這個主要項目正確加載了
直接點運行,是可以運行成功的,然后打開 Safari,輸入 http://localhost:5000 可以正常打開 Music Store,Yes!
隨便點了幾下,功能基本正常,不過由于 macOS 下沒有 SQL Server LocalDB,所以 MusicStore 使用的是內存數據庫,也就是說重新啟動應用后,之前的用戶數據會丟失
我在 Register 里下了一個斷點,然后注冊個用戶,斷點這里是可以正常停下并獲取到剛才輸入的信息,調試也基本正常了
由于 Xamarin Studio 原生支持 Git,所以咱們開發的項目可以直接 Push 到遠端倉庫中,這樣一來,使用 Xamarin Studio 進行 ASP.NET Core 應用的開發、調試、部署都沒啥打問題了
結語
微軟從認為 Linux 和開源是“癌癥”,到現在擁抱 Linux 和開源,經歷了很長一段時間,期望微軟在開源領域再創輝煌,也希望越來越多的 Coder 去關注和使用 .Net 技術,因為它真的很棒