首页 > 解决方案 > 从脚本创建 WebHost 时无法加载 InplaceStringBuilder

问题描述

该脚本创建了一个 Web 服务器来为静态静态文件提供服务,它编译并启动但无法为请求提供服务。

dotnet script server.csx

#r "nuget: Microsoft.AspNetCore, 2.2.0"
#r "nuget: Microsoft.AspNetCore.StaticFiles, 2.2.0"
#r "nuget: Microsoft.Extensions.Primitives, 5.0.0"

using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;

Microsoft.AspNetCore.WebHost
    .CreateDefaultBuilder(Array.Empty<string>())
    .Configure(config => config.UseStaticFiles())
    .UseWebRoot(".").Build().Run();

每个请求都失败了

fail: Microsoft.AspNetCore.Server.Kestrel[0]
      Heartbeat.OnHeartbeat
      System.TypeLoadException: Could not load type 'Microsoft.Extensions.Primitives.InplaceStringBuilder' from assembly 'Microsoft.Extensions.Primitives, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
         at Microsoft.Net.Http.Headers.DateTimeFormatter.ToRfc1123String(DateTimeOffset dateTime, Boolean quoted)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.DateHeaderValueManager.SetDateValues(DateTimeOffset value)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.Heartbeat.OnHeartbeat()

有一些解决方案,但我尝试过的解决方案要么不起作用,要么不适用,它是脚本。

标签: .netscriptkerstel

解决方案


推荐阅读