'无法从程序集'Microsoft.Extensions.Primitives'加载类型'Microsoft.Extensions.Primitives.InplaceStringBuilder'

Ben*_*Ten 5 c# auth0 asp.net-core

我正在开发一个 ASP.NET Core v2.1 Razor Pages 项目,在该项目中我正在实施 Auth0 以进行用户身份验证。设置完所有内容后,我尝试构建我的项目,但出现以下异常:

System.TypeLoadException: 'Could not load type 'Microsoft.Extensions.Primitives.InplaceStringBuilder' 
from assembly 'Microsoft.Extensions.Primitives, Version=5.0.0.0, Culture=neutral, 
PublicKeyToken=adb9793829ddae60'.'
Run Code Online (Sandbox Code Playgroud)

为了设置 Auth0,我必须安装 Microsoft.Extensions.Primitives nuget 包。但是,在尝试构建我的项目时,这是我得到的错误。如果我删除包,当我尝试构建项目时,我会收到以下错误:

Version conflict detected for Microsoft.Extensions.Primitives. Install/reference 
Microsoft.Extensions.Primitives 5.0.0 directly to your project to resolve this issue.
Run Code Online (Sandbox Code Playgroud)

以下代码是抛出异常的地方:

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();
}
Run Code Online (Sandbox Code Playgroud)

我已经读到 Microsoft.Extensions.Primitives 中不再存在 InplaceStringBuilder,所以我假设这是导致问题的原因。但是,我没有看到 InplaceStringBuilder 在任何地方使用,所以我似乎无法弄清楚它甚至需要什么。

有谁知道解决这个问题的方法?

小智 17

可能你有一些使用的Microsoft.Extensions.PrimitivesVersion >= 5.0.0

几天前我也遇到了类似的问题。在我的场景中,我正在处理一个ASP.NET Core v2.1 WEB API与使用该包的项目的依赖关系,Microsoft.Extensions.Configuration.Abstractions导致Version="5.0.0"了问题。我能够通过将该软件包从降级Version 5.0.0到 来解决该问题Version 2.1.0