Asp.net mvc 无法加载文件或程序集';在Azure上部署后System.IdentityModel.Tokens.Jwt

Asp.net mvc 无法加载文件或程序集';在Azure上部署后System.IdentityModel.Tokens.Jwt,asp.net-mvc,azure,web-deployment,Asp.net Mvc,Azure,Web Deployment,我的web应用在localhost上运行良好,但当我在Azure上发布它时,出现以下错误: 无法加载文件或程序集“System.IdentityModel.Tokens.Jwt”或 它的一个依赖项。找到的程序集的清单定义 与程序集引用不匹配。(HRESULT的例外情况: 0x8013100) 在本地主机上运行正常 我使用的是4.5框架,它也在web.config文件中定义。我试图在nuget manager中重新安装它,但我失败了 包“System.IdentityModel.Tokens.Jw

我的web应用在localhost上运行良好,但当我在Azure上发布它时,出现以下错误:

无法加载文件或程序集“System.IdentityModel.Tokens.Jwt”或 它的一个依赖项。找到的程序集的清单定义 与程序集引用不匹配。(HRESULT的例外情况: 0x8013100)

在本地主机上运行正常

我使用的是4.5框架,它也在web.config文件中定义。我试图在nuget manager中重新安装它,但我失败了

包“System.IdentityModel.Tokens.Jwt.4.0.2.206221351”已存在于中 项目“项目1”

我在引用文件夹中也找不到此程序集。 这是我第一次解决这类问题

你建议我做什么

问候,,
桑迪

我已经弄明白了。我通过nuget软件包管理器更新了System.IdentityModel.Tokens.Jwt引用,它再次工作


问候

我不得不将dotnet框架回滚到4.5.1

我也遇到了同样的问题。我通过在安装项目中选择检测到的依赖项的“刷新依赖项”解决了这个问题。我认为这是一个bug,因为System.IdentityModel.Tokens.Jwt程序集位于program files目标文件夹中,并且具有兼容的版本控制。
如果您不使用VS,也许可以将其与您自己的开发环境联系起来

这很容易解决。只需转到web配置并找到获取错误的包。并检查web.config中提到的版本。并将其与项目中已安装的参考中的NuGet包进行比较。并使两者相似

在我的例子中,我已经安装了3.10.10.0,在web配置中,它显示了不同的功能。我已将其更改为3.10.10.0。一切正常


Azure功能主机中存在已知问题:

当前的解决方法是将以下内容添加到.csproj中:

<PropertyGroup>
  <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
</PropertyGroup>

真的

我通过nuget软件包获得此引用,我收到一条类似但不同的错误消息:无法加载文件或程序集'System.IdentityModel.Tokens.Jwt,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)