Kestrel失败:无法加载Microsoft.Extensions.Logging.Abstractions

bkw*_*ign 2 kestrel-http-server asp.net-core identityserver4

我有一个非常简单的Kestrel/ASP.NET Core项目成功部署到我的Windows 2008 R2服务器..(以空Web项目+ IdentityServer4 nuget开始我正在关注此入门页面)

所以,我最初可以检索'发现'JSON文档.

然后,(根据本指南)我添加了几个NuGet包,一些视图/ CSS等...

  • Microsoft.AspNetCore.Mvc -Version 1.1.0
  • Microsoft.ApsNetCore.StaticFiles -Version 1.1.0

升级的解决方案在我的Win7开发盒上运行正常,但是,在重新部署之后..现在我得到了可怕的502.5错误页面.如果我进入服务器并尝试通过命令行"启动"可执行文件..我可以看到此错误:

未处理的异常:System.IO.FileLoadException:无法加载文件或程序集'Microsoft.Extensions.Logging.Abstractions,Version = 1.1.1.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)在Ross.Web.Applications.Identity.Program.Main(String [] args)

我哪里做错了?

我可以看到上面提到的DLL,Microsoft.Extensions.Logging.Abstractions发布到服务器的文件系统.我猜我需要做一个绑定重定向或其他东西,但是,我太新了核心知道如何.

更新
将我的NuGet包升级到最新版本...错误类似,但现在找不到:Microsoft.AspNetCore.Hosting.Abstractions, Version=1.1.2.0

bkw*_*ign 5

好的,我必须清除我的服务器目录..并进行全新的重新部署.我已经看到了关于删除'bin'的其他答案但是很困惑,因为coreWeb部署没有实际/bin目录.

现在,我认为这意味着"清除二进制文件......无论它们在哪里"


Ami*_*aqi 5

在解决方案中有多个项目的人要注意:

这主要是因为在你的解决方案多个项目,并且所提到的软件包安装在他们两人,但不同的版本

假设异常如下所示:

在此处输入图片说明

只需停止调试,然后转到Manage NuGet Packages for Solution并在已安装的标签中搜索该软件包:

在此处输入图片说明

如您所见,我在两个版本不同的项目中都有该软件包,这就是重点!只需将较低的版本更新为等于较高的版本,便一切就绪。