首页 > 解决方案 > ASP.NET Core MVC:找到的程序集的清单定义与程序集引用不匹配

问题描述

我尝试将我的 Asp.net core mvc projekt 部署到我们的服务器,但 ISS 只记录此错误

System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
File name: 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'

它可以在本地工作,但不能在服务器上工作。

我发现这可能无法加载文件或程序集 Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.1.0.0线程关于该问题,但接受的答案是针对 .net 框架,而不是 .net 核心(并且没有工作,我做了试试看),后面的答案是关于我不使用的 Azure 功能。

我使用网络核心 3.1

标签: c#asp.net-mvcasp.net-coreiisasp.net-core-3.1

解决方案


所以,这可能是一个新手错误:我使用 Core 3.1 但 NuGet 添加了 5.0 的引用

<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0.0" />

降级到3.1.14版本后,一切

    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.14" />


推荐阅读