我们可以将哪个版本的Nancy软件包用于asp.net core 2.0?

Nav*_*vap 1 asp.net nancy .net-core visual-studio-code

不知道在哪里提出这个问题,但目前我对NancyFX for asp.net core 2.0 感兴趣,我尝试同时使用2.0.0-Pre1878版本和2.0.0-clinteastwood,但运气不佳。有没有人设法使用这些?我可以使用参考应用程序吗?

Dou*_*oug 5

尝试:

<ItemGroup> 
  <PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" /> 
  <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.0.0" /> 
  <PackageReference Include="Microsoft.AspNetCore.Owin" Version="2.0.0" /> 
  <PackageReference Include="Nancy" Version="2.0.0-clinteastwood" /> 
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

(特别注意您需要Microsoft.AspNetCore.Owin

我可以使用参考应用程序吗?

是。

https://github.com/NancyFx/Nancy/tree/master/samples/Nancy.Demo.Hosting.Kestrel

最小示例:

using System.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Nancy;
using Nancy.Owin;

namespace HelloNancy
{
  class Program
  {
    static void Main(string[] args)
    {
      var host = new WebHostBuilder()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseKestrel()
        .UseStartup<Startup>()
        .Build();

      host.Run();
    }
  }

  public class Startup
  {
    private readonly IConfiguration config;

    public Startup(IHostingEnvironment env)
    {
      var builder = new ConfigurationBuilder().SetBasePath(env.ContentRootPath);
      config = builder.Build();
    }

    public void Configure(IApplicationBuilder app)
    {
      app.UseOwin(x => x.UseNancy(opt => opt.Bootstrapper = new DemoBootstrapper()));
    }
  }

  public class DemoBootstrapper : DefaultNancyBootstrapper
  {
    public DemoBootstrapper()
    {
    }
  }

  public class SampleModule : Nancy.NancyModule
  {
    public SampleModule()
    {
      Get("/", _ => "Hello World!");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

(特别注意,您应该使用带有核心而不是自托管的Nancy.Hosting.SelfKestrel ,将其作为目标4.6,而不是netstandard)