在 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
-
拍拍自己的背部,享受!