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

时间:2016-04-18 07:14:16

标签: asp.net-mvc azure web-deployment

我的网络应用程序在localhost上工作正常,但是当我在Azure上发布它时,我收到以下错误:

  

无法加载文件或程序集'System.IdentityModel.Tokens.Jwt'或   其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)

在本地主机上工作正常。

我正在使用4.5框架,它也在web.config文件中定义。我试图在nuget管理器中重新安装它,但我得到了

  

包'System.IdentityModel.Tokens.Jwt.4.0.2.206221351'已存在于   project'project1'

我也在引用文件夹中找不到这个程序集。 这是我第一次遇到这种类型的问题。

你建议我做什么?

此致 三迪

5 个答案:

答案 0 :(得分:10)

Azure Functions 主机中存在一个已知问题:https://github.com/Azure/azure-functions-host/issues/5894

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table">
  <thead>
    <tr>
      <th scope="col">User Name</th>
        <th scope="col">Order No</th>
        <th scope="col">Order Date</th>
        <th scope="col">Status</th>
        <th scope="col">Total Amount</th>
        <th scope="col">Total Qty</th>
        <th scope="col">Total Products</th>
        <th scope="col">View/Edit</th>
    </tr>
  </thead>
  <tbody>
       
    <tr>
       <td id="user-name">Alice</td>
        <td id="order-no">8536</td>
        <td id="order-date">13/07/2020</td>
        <td id="status" >Pending</td>
        <td id="total-amount" >1800</td>
        <td id="total-qty" >3</td>
        <td id="total-products" >3</td>
        <td>
        <a id="view-data" href="#" class="view-data text-success stretched-link">View/Edit</a>
            </td>
    </tr>
    
    <tr>
       <td id="user-name">Michael</td>
        <td id="order-no">4354</td>
        <td id="order-date">12/07/2020</td>
        <td id="status" >Approved</td>
        <td id="total-amount" >1500</td>
        <td id="total-qty" >2</td>
        <td id="total-products" >2</td>
        <td>
        <a id="view-data" href="#" class="view-data text-success stretched-link">View/Edit</a>
            </td>
    </tr>
  </tbody>
</table>

答案 1 :(得分:4)

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

问候!

答案 2 :(得分:0)

我不得不将dot net框架回滚到4.5.1

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

Nuget Package version

就我而言,我已经安装了3.10.10.0,并在Web配置中显示出与众不同。我将其更改为3.10.10.0。一切正常。

web.config version