发布 Web 应用到 Azure 平台

4
我可以帮助您翻译以下内容:

我在Azure上有一个Web应用程序。当我使用WebDeploy发布更新时,它无法正常工作。我收到502.5进程失败错误。经过调查,错误的内容如下:

Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.AspNetCore.Hosting.Abstractions, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
   at Web.Program.Main(String[] args)

有人知道我为什么会得到这个错误吗?

本地可以运行,但发布后不能运行。我最近更新了AspNetCore ddls的内容,作为此版本的一部分,我将NuGet包引用升级到了最新的补丁修复程序,即从2.0.0升级到2.0.2。我做错了什么吗?


在部署之前,请检查 Visual Studio 中的“复制本地”设置。可能是它尝试在 Azure 中加载的程序集不存在。将“复制本地”设置为 true 应该将程序集包含在安装中。 - kim
@kim 谢谢。我已经下载了服务器上的版本,显示为2.0.2版本,所以我相信正确的版本已经在服务器上了。不幸的是,我还是无法让它正常工作。 - Adam Stapleton
从目标文件夹中删除所有内容确实解决了问题!谢谢。 - mstaessen
如果可能的话,最好使用基于Git的发布或FTP(你最终发现它是解决方案)。根据我的经验,Web Deploy 的效果也不太稳定。 - Jay
2个回答

1

亚当·斯特普顿的附加信息。

正如亚当·斯特普顿所提到的,似乎Web发布或VS没有更新相关文件。如果我们更新AspNetCore,我建议在重新发布WebApp时删除Azure WebApp文件。我们也可以通过VS来实现这一点。有关更详细的信息,请参阅截图。

enter image description here


我们已经选择了这个并通过VS 2017版本15.7.3发布。我们仍然偶尔遇到这个问题。仍在寻找100%的解决方案。 - ElFik

1

我最终通过使用FTP,在网站文件夹中删除所有DLL文件并重新发布应用程序来解决了这个问题。

似乎Web Publish或VS由于某种原因决定不更新这些文件。


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