C# ASP.NET核心MVC:定位的程序集';的清单定义与程序集引用不匹配

C# ASP.NET核心MVC:定位的程序集';的清单定义与程序集引用不匹配,c#,asp.net-mvc,asp.net-core,iis,asp.net-core-3.1,C#,Asp.net Mvc,Asp.net Core,Iis,Asp.net Core 3.1,我试图将我的Asp.net核心mvc项目部署到我们的服务器上,但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

我试图将我的Asp.net核心mvc项目部署到我们的服务器上,但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'
它在本地工作,但在服务器上不工作

我找到了这个关于这个问题的帖子,但公认的答案是针对.net框架的,而不是针对.net核心的(而且不起作用,我尝试过),后面的答案是关于我不使用的Azure函数的


我使用的是net core 3.1,所以这可能是一个noob错误: 我使用Core3.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" />



Download Core on deploy machine()要使网络应用程序在部署计算机上运行,必须发生以下两种情况之一:1)构建计算机上的网络版本与部署计算机上的网络版本相同;2)在构建计算机上发布,创建类似商业软件的setup.exe折叠,然后在部署计算机上运行setup.exe。Net对许多方法使用windows dll,并且windows dll在生成和部署计算机上的版本必须相同。setup.exe更新windows DLL。服务器上已安装运行时。错误中命名的DLL也与项目的其余部分解除了连接。它是同一个版本吗?我本来希望是这样的,所以我从来没有费心检查(对不起,这是我第一次尝试部署某个东西)服务器上的版本是3.something,本地版本是5.something。现在的问题是为什么。我使用DevOps管道/设备组。