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

16

我正在开发一个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'.'
为了设置Auth0,我必须安装Microsoft.Extensions.Primitives nuget包。但是,在尝试构建我的项目时,我收到了以下错误。如果我删除这个包,当我尝试构建项目时,我会得到以下错误:

为了设置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.
以下代码是抛出异常的位置:
public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

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

我阅读过,在Microsoft.Extensions.Primitives中不再存在InplaceStringBuilder,因此我认为这可能是问题的原因。但是,我没有看到任何地方使用InplaceStringBuilder,因此似乎无法弄清楚它的作用。

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


你确定使用的是ASP.NET Core版本和基元版本吗? - Vivek Nuna
目标框架是.NET Core 2.1,已安装Primitives 5.0.0。 - BenTen
也许你可以尝试将你的Primitives软件包从5.0.0更新到2.1.1。 - Yinqiu
@Yinqiu,我尝试了这个方法,但仍然出现相同的异常,我不理解为什么会出现这样的情况。因为它仍在说无法从程序集Microsoft.Extensions.Primitives V 5.0.0中加载。 - BenTen
1个回答

16

可能您有一些使用Microsoft.Extensions.Primitives版本>= 5.0.0的包。

我几天前也遇到了类似的问题。 在我的场景中,我正在使用ASP.NET Core v2.1 WEB API,并且一个依赖项与使用 Microsoft.Extensions.Configuration.Abstractions包的项目在版本="5.0.0"下引起了问题。 我通过将该包从版本5.0.0降级为版本2.1.0来解决问题。


1
删除所有 Microsoft.Extensions.* 库的引用对我有用。 - Mike67
如何进行降级? - Denis G. Labrecque
通过使用 NuGet Package Manager,您可以选择任何可用版本的软件包并进行更新。如果您在 Visual Studio 中使用 NuGet 管理器(界面),则可以在安装或更新之前查看软件包依赖关系。 - Fernando Penido
1
刚刚遇到了一个问题,涉及到一个引用 .net standard lib 的 WPF 应用程序(这些引用了抽象 nuget),版本 3.1.0 也可以工作。 - Jérémie Leclercq
谢谢,我也遇到了同样的问题。我能够使用解决方案中的deps.json文件(在构建后)来调查哪个包引起了问题 - 实际上是一个我自己编写的NuGet包。和你一样,降级Abstractions包解决了错误。 - to6y

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接