在 nix 系統上使用 Dotnet 核心 v1.1 Kestrel 和 Visual Studio Code 設定 Nancyfx
Prerequiste 步驟:
-
為你的平臺獲取 dotnet 核心:
-
按照說明操作,確保 dotnet 核心正常工作
-
獲取適用於你平臺的 Visual Studio 程式碼:
-
啟動 Visual Studio 程式碼(VS 程式碼)並安裝 C#擴充套件然後重新載入
建立自託管的 NancyFx 專案:
-
使用正確的專案目錄結構設定專案。
開啟 Bash 終端並輸入:
mkdir nancydotnetcore cd nancydotnetcore mkdir src mkdir test touch global.json
-
開啟 global.json 並輸入以下程式碼:
{ "projects":["src", "test"] }
-
在 Bash 終端:
cd src mkdir NancyProject1 dotnet new
在 VS 程式碼中開啟資料夾 NancyProject1
你將收到一條警告:“’nancyproject1’中缺少構建和除錯所需的資產。”
點選是
你還將看到:‘project.json’中存在未解析的依賴項。請執行 restore 命令繼續。
點選關閉我們很快就會到達。
-
新增依賴項,開啟“project.json”並使用以下內容覆蓋它:
{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable", "emitEntryPoint": true }, "frameworks": { "netcoreapp1.1": { "dependencies": { "Microsoft.AspNetCore.Hosting": "1.1.0", "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", "Microsoft.AspNetCore.Owin": "1.1.0", "Nancy": "2.0.0-barneyrubble", "Microsoft.NETCore.App": { "type": "platform", "version": "1.1.0" } } } } }
VS 程式碼將要求恢復點選恢復
-
在 VSCode 專案中建立資料夾
Modules
在 Modules 資料夾中新增名為“IndexModule.cs”的檔案,然後複製並儲存以下內容:
namespace NancyProject1 { using Nancy; public class IndexModule : NancyModule { public IndexModule() { Get("/", _ => "Hello dotnet core world!"); } } }
-
在專案的根目錄中,建立一個名為“Startup.cs”的檔案,然後複製並貼上以下內容:
namespace NancyProject1 { using Microsoft.AspNetCore.Builder; using Nancy.Owin; public class Startup { public void Configure(IApplicationBuilder app) { app.UseOwin(x => x.UseNancy()); } } }
-
開啟檔案“Program.cs”並用以下內容覆蓋內容並儲存:
namespace NancyProject1 { using System.IO; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; public class Program { public static void Main(string[] args) { var host = new `WebHostBuilder()` .UseContentRoot(`Directory.GetCurrentDirectory()`) `.UseKestrel()` .UseStartup<Startup>() .Build(); host.Run(); } } }
-
完成! 現在讓我們執行它並檢視輸出。
單擊 VS Code 中的除錯符號,然後單擊執行按鈕。它應該編譯並啟動專案。
開啟瀏覽器 @ http:// localhost:5000
-
拍拍自己的背部,享受!