來勢洶洶的.NET Core似乎要取代.NET Framework,ASP.NET也隨之發佈.NET Core版本。雖然名稱沿用ASP.NET,但相對於ASP.NET確實有許多架構上的差異,可以說除了名稱外,已是兩個不同的框架。 前言 要開發.NET Core必須要安裝.NET Core SDK,所 ...
來勢洶洶的.NET Core似乎要取代.NET Framework,ASP.NET也隨之發佈.NET Core版本。雖然名稱沿用ASP.NET,但相對於ASP.NET確實有許多架構上的差異,可以說除了名稱外,已是兩個不同的框架。
前言
要開發.NET Core必須要安裝.NET Core SDK,所以先到官網下載.NET Core SDK的安裝文件,官網下載位置點我。
.NET Core作為跨平臺的框架,不再像 .NET Framework 要依附在 Windows系統才能運行,所以你可以按照你需要的版本進行下載及安裝。
安裝完成後,可以通過 .NET Core CLI(Command-Line Interface)確認.NET Core SDK安裝的版本,指令如下:
dotnet --version
建立網站項目
先建立一個項目文件夾 MyWebsite,然後在該文件夾中執行.NET Core CLI 創建網站的指令:
dotnet new web
.NET Core CLI 會在該文件夾,創建一個空的 ASP.NET Core 模板,內容如下:
obj/ # 項目暫存目錄
wwwroot/ # 網站根目錄 (空的)
MyWebsite.csproj # 項目文件
Program.cs # 入口
Startup.cs # 網站的相關設置
啟動網站
創建完成後,就可以用 .NET Core CLI 啟動網站了。啟動網站指令:
dotnet run
.NET Core CLI 預設會啟動一個http://localhost:5000/
的站點,用瀏覽器打開此鏈接就可以看到 ASP.NET Core 網站了。如下:
用VS Code進行開發
.NET Core 都已經跨平臺了,開發工具當然也不能局限於 Visual Studio IDE (Visual Studio 2017/2015 等)。基本上純文字編輯器搭配 .NET Core CLI 就可以開發 ASP.NET Core 了,但沒有斷點調試或 Autocomplete 開發有些辛苦。如果是 Windows系統,最推薦的當然還是 Visual Studio IDE,再來就是 Visual Studio Code (簡稱 VS Code)。
VS Code是一套可安裝插件的文字編輯器,同時支持 Windows、Mac 及 Linux 版本,即輕量又免費。
只要安裝增強插件就變成了 IDE,並且支持多種編程語言。下載位置點我。
安裝插件
打開VS Code 可以在左邊看到五個Icon,點擊最下麵的那麼Extensions圖標,併在Extensions搜索框中輸入C#,便可以找到C#插件安裝。如下圖:
打開項目
VS Code 和一般的文字編輯器有些不同,它是以文件夾為工作區域,打開一個目錄,就等於打開了一個項目。從上方工具欄中文件->打開文件夾 選擇ASP.NET Core項目目錄,大概隔幾秒後,VS Code 會提示是否要幫此項目加入Build/Debug的設置。如下圖:
Build/Debug 設置
如果沒有自動提示加入 Build/Debug 設置,可以在左邊 Icon,點擊倒數第二個 Debug 圖標,手動加入 Build/Debug 設置(添加配置)。如下步驟:
設置完成後,VS Code 會自動創建 .vscode 目錄及設置文件 launch.json、tasks.json。目錄結構如下如下:
vscode/ # VS Code 配置目錄
launch.json # 用 VS Code 啟動項目的設置
tasks.json # 定義 launch.json 會用到的指令
obj/ # 項目暫存目錄
wwwroot/ # 網站根目錄 (空的)
MyWebsite.csproj # 項目文件
Program.cs # 入口
Startup.cs # 網站的相關設置
斷點調試
在代碼行號的左邊點擊就可以下中短淺了,跟一般 IDE 差不多。然後在 Debug 側欄啟動查錯:
當執行到該斷點後,就會停下來,併在 Debug 側欄顯示當前變數的狀態等,也可以用滑鼠移到變數上查看變數的內容。如下:
查錯方式跟大部分的 IDE 都差不多,可以 Step over、Step in/out 等。
如此一來就可以用 VS Code 輕鬆開發 ASP.NET Core了。
老司機發車啦:https://github.com/SnailDev/SnailDev.NETCore2Learning