【问题标题】:Nancy support for .NETCoreApp南希对 .NETCoreApp 的支持
【发布时间】:2017-09-21 19:31:39
【问题描述】:

尝试将 Nancy 包添加到新项目。在 project.json(依赖项段)中,“Nancy”下的红色波浪:“1.4.3”。鼠标悬停显示与支持 .NETCoreApp 相关的错误

【问题讨论】:

  • Nancy 1.4.3 仅支持 framework 4.x 简单的解决方案,但建议仅供实验使用,即安装截至今天的 alpha 版本:Install-Package Nancy -Pre
  • 更新:说得太早了。 Nancy 2.0.0-alpha 也不起作用,所以我想我们必须等待 Nancy 赶上来。

标签: asp.net-core nancy


【解决方案1】:

Github 上 Nancy 的 master 分支已经在 .net core 上运行了。我们正在从 Rake 转移到 Cake 的构建脚本,希望这周可以结束它,以便可以将 .netcore 支持推送到 Nuget。所以是的,请稍等有点。

【讨论】:

  • 太好了。对我来说不是一个障碍,但我对克里斯蒂安·霍斯达尔感到非常难过。在他的新书“.NET 中的微服务:使用 C#”中,他对 Nancy 赞不绝口,并将其作为他所有源代码的基础。
  • Sifico,有关于 Nancy 构建的消息吗?我在我的机器上尝试了类似的配置并收到相同的错误。 (使用“Install-Package Nancy”安装 Nancy)
  • nuget.org/packages/Nancy/2.0.0-clinteastwood ,请注意 .net core 仅在 2.0-* 包上。
【解决方案2】:

这个例子最初是写在 Stack Overflow 文档上的:

在 *nix 系统上使用 Dotnet core v1.1、Kestrel 和 Visual Studio Code 设置 Nancyfx

先决条件:

  1. 为您的平台获取 dotnet 核心: Dotnet Core
  2. 按照说明操作并确保 dotnet 核心正常工作
  3. 为您的平台获取 Visual Studio 代码: VS Code
  4. 启动 Visual Studio Code(VS 代码)并安装 C# 扩展,然后重新加载

创建自托管的 NancyFx 项目:

  1. 使用正确的项目目录结构设置项目。 打开 Bash 终端并输入: mkdir nancydotnetcore cd nancydotnetcore mkdir 源代码 mkdir 测试 触摸 global.json
  2. 打开 global.json 并输入以下代码: { “项目”:[“src”,“测试”] }
  3. 在 Bash 终端中: 光盘源 mkdir NancyProject1 点网新 在 VS 代码中打开文件夹 NancyProject1 您将收到一条警告:“'nancyproject1' 中缺少构建和调试所需的资产。” 点击“是” 您还将看到:“project.json”中存在未解决的依赖项。请执行恢复命令以继续。 点击“关闭”,我们很快就会解决这个问题。
  4. 添加依赖项,打开“project.json”并用以下内容覆盖它: { “版本”:“1.0.0-*”, “构建选项”:{ "debugType": "便携", “emitEntryPoint”:真 }, “构架”: { “netcoreapp1.1”:{ “依赖”:{ "Microsoft.AspNetCore.Hosting": "1.1.0", "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", "Microsoft.AspNetCore.Owin": "1.1.0", “南希”:“2.0.0-barneyrubble”, “Microsoft.NETCore.App”:{ “类型”:“平台”, “版本”:“1.1.0” } } } } } VS代码会要求恢复点击“恢复”
  5. 在 VSCode 项目中创建文件夹“模块” 在 Modules 文件夹中添加一个名为“IndexModule.cs”的文件,然后复制并保存以下内容: 命名空间 NancyProject1 { 使用南希; 公共类 IndexModule : NancyModule { 公共索引模块() { Get("/", _ => "Hello dotnet core world!"); } } }
  6. 在项目的根目录中创建一个名为“Startup.cs”的文件并复制并粘贴以下内容: 命名空间 NancyProject1 { 使用 Microsoft.AspNetCore.Builder; 使用 Nancy.Owin; 公共类启动 { 公共无效配置(IApplicationBuilder 应用程序) { app.UseOwin(x => x.UseNancy()); } } }
  7. 打开文件“Program.cs”并用以下内容覆盖内容并保存: 命名空间 NancyProject1 { 使用 System.IO; 使用 Microsoft.AspNetCore.Builder; 使用 Microsoft.AspNetCore.Hosting; 公开课程序 { 公共静态无效主要(字符串[]参数) { var 主机 = 新的 WebHostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .UseKestrel() .UseStartup() 。建造(); 主机.运行(); } } }
  8. 完毕!现在让我们运行它并查看输出。 单击 VS Code 中的调试符号,然后单击运行按钮。它应该编译并启动项目。 打开浏览器@http://localhost:5000
  9. 拍拍自己的背,尽情享受吧!

仍然是预发布版本,但在撰写本文时可与 .net 内核一起使用,视图引擎在内核上非常有限。

【讨论】:

  • 同样,我可以使用 Nancy 和 .net core 托管 windows 服务吗?
【解决方案3】:

安装包 Nancy -Version 2.0.0-barneyrubble -Pre

【讨论】:

    猜你喜欢
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多