Azure部署问题:未处理的异常:无法加载文件或程序集“ Microsoft.Azure.DocumentDB.Core

问题描述

我在表存储方面遇到性能问题,并升级到了最新的库/ SDK。本地一切正常,我可以在模拟器上运行。但是,当我尝试部署到我的Azure云服务时,出现以下错误:

详细信息:正在恢复角色...未处理的异常:无法加载文件或程序集'Microsoft.Azure.DocumentDB.Core,Version = 2.11.2.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

Web角色只会不断回收此错误。实际的dll版本是2.11.6.0。我尝试过的事情:

  1. 我已登录到Web角色,并检查dll是否为预期的dll(2.11.6.0)。
  2. bindingRedirects:所有相关项目均具有以下形式的绑定重定向:
<dependentAssembly>
    <assemblyIdentity name="Microsoft.Azure.DocumentDB.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.11.6.0" newVersion="2.11.6.0" />
  </dependentAssembly>
  1. 我已经对Microsoft.Azure.DocumentDB.Core的项目中的所有文件进行了文本搜索-每个引用(提到版本)都引用2.11.6.0。这包括dll.config文件形式的文件-我没有手动编辑,但确实具有正确的重定向。
  2. 我尝试将Azure角色osFamily更改为6(以前是5)
  3. 我尝试删除packages文件夹并重新生成
  4. 我尝试删除所有重定向语句,并允许Visual Studio为我自动生成它们。

发布是通过Visual Studio 2019中的Cloud Service(csdef)上的“发布”完成的。

有人可以建议我进一步尝试部署此云服务吗?

解决方法

最终找到了解决该问题的方法。因此,在本地运行时,将在web.config旁边生成文件WebRoleName.dll.config。该文件未部署。内容是web.config文件的精确副本。除重定向外,其所有设置都将被忽略。似乎在Web角色启动时就使用了重定向。因此,我将基于本地配置(完全错误的数据库设置等)的文件添加到Web Role项目的根目录,并将其设置为Content-Always Always。

现在一切正常,如果由Visual Studio Azure自动发布部署此生成的文件,显然会更好。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...