在 nix 系統上使用 Dotnet 核心 v1.1 Kestrel 和 Visual Studio Code 設定 Nancyfx

Prerequiste 步驟:

  1. 為你的平臺獲取 dotnet 核心:

    Dotnet 核心

  2. 按照說明操作,確保 dotnet 核心正常工作

  3. 獲取適用於你平臺的 Visual Studio 程式碼:

    VS 程式碼

  4. 啟動 Visual Studio 程式碼(VS 程式碼)並安裝 C#擴充套件然後重新載入

建立自託管的 NancyFx 專案:

  1. 使用正確的專案目錄結構設定專案。

    開啟 Bash 終端並輸入:

    mkdir nancydotnetcore
    cd nancydotnetcore
    mkdir src 
    mkdir test
    touch global.json
    
  2. 開啟 global.json 並輸入以下程式碼:

    {
        "projects":["src", "test"]
    }
    
  3. 在 Bash 終端:

    cd src 
    mkdir NancyProject1
    dotnet new 
    

    在 VS 程式碼中開啟資料夾 NancyProject1

    你將收到一條警告:“’nancyproject1’中缺少構建和除錯所需的資產。”

    點選

    你還將看到:‘project.json’中存在未解析的依賴項。請執行 restore 命令繼續。

    點選關閉我們很快就會到達。

  4. 新增依賴項,開啟“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 程式碼將要求恢復點選恢復

  5. 在 VSCode 專案中建立資料夾 Modules

    在 Modules 資料夾中新增名為“IndexModule.cs”的檔案,然後複製並儲存以下內容:

    namespace NancyProject1
    {
        using Nancy;
        public class IndexModule : NancyModule
        {
            public IndexModule()
            {
                Get("/", _ => "Hello dotnet core world!");
            }
        }
    }
    
  6. 在專案的根目錄中,建立一個名為“Startup.cs”的檔案,然後複製並貼上以下內容:

    namespace NancyProject1
    {
        using Microsoft.AspNetCore.Builder;
        using Nancy.Owin;
    
        public class Startup
        {
            public void Configure(IApplicationBuilder app)
            {
                app.UseOwin(x => x.UseNancy());
            }
        }
    }
    
  7. 開啟檔案“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();
            }
        }
    }
    
  8. 完成! 現在讓我們執行它並檢視輸出。

    單擊 VS Code 中的除錯符號,然後單擊執行按鈕。它應該編譯並啟動專案。

    開啟瀏覽器 @ http:// localhost:5000

  9. 拍拍自己的背部,享受!