use*_*711 37 .net c# dll azure
我们使用的是Windows Azure Storage NuGet软件包4.1.0版,它依赖于Microsoft.Data.OData,并且还添加了具有Microsoft.Data.Edm dll的软件包.当我们构建并运行应用程序时,我们偶尔会遇到以下错误:
Could not load file or assembly 'Microsoft.Data.Edm' or one of its dependencies. The
located assembly's manifest definition does not match the assembly reference. (Exception
from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
我们在web.config中有以下绑定重定向,并且还检查过,这是解决方案中任何项目引用的唯一Microsoft.Data.Edm版本.
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.6.1.0" newVersion="5.6.1.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
有时当我查看bin文件夹时,我发现Microsoft.Data.Edm的dll版本是v 5.6.0.我已经完成了所有项目,除了存储客户端之外我找不到对Microsoft.Data.Edm的引用,这绝对是5.6.1.
尝试找出5.6.0版本的最佳方法是什么?当我们得到这个错误时,我们删除了bin和obj文件夹并重建然后它工作正常,5.6.1版本就在那里,一切正常但最终又发生了.
编辑:
我们再次升级到NuGet的所有最新版本但仍然没有运气,我运行了一个显示以下依赖项的工具:
Possible conflicts for Microsoft.Data.Edm:
Microsoft.Data.OData references Microsoft.Data.Edm, Version=5.6.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.Data.Services.Client references Microsoft.Data.Edm, Version=5.6.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.WindowsAzure.Storage references Microsoft.Data.Edm, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Possible conflicts for Microsoft.Data.OData:
Microsoft.Data.Services.Client references Microsoft.Data.OData, Version=5.6.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.WindowsAzure.Storage references Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Run Code Online (Sandbox Code Playgroud)
我不明白的是我们有app绑定重定向设置,但有时2.6.0版本被复制,有时是2.6.2.有谁知道为什么会发生这种情况,从来没有遇到过这个问题.
Bil*_*ill 20
我有相同的错误消息,但我的问题与任何Azure产品无关.就我而言,我将OData从版本3更新为4,在我看来,Nuget为弃用的dll留下了绑定重定向.实际上总共有三个,Microsoft.Data.Edm,Microsoft.Data.OData和System.Spatial.
我的解决方案是删除已弃用的绑定重定向.如果构建过程没有,您还应该删除bin文件夹中的旧dll.
对于我的团队成员来说,有时似乎可以解决此问题的一件事是关闭 Visual Studio 的所有实例,删除包目录的内容,重新打开 Visual Studio,然后还原包并重建。但这并不总是有效。
我们能够通过增加 Visual Studio 构建输出详细程度来识别有问题的项目,从而在我们的一台机器上跟踪问题:
然后,我们搜索输出并通过搜索“Microsoft.Data.Edm”确定有问题的目标项目。我们注意到它似乎间接依赖于 Microsoft.Data.Edm,但我们注意到该程序集并未明确包含为该项目的包。因此,使用 Nuget 包控制台,我们定位了项目并运行:
Install-Package Microsoft.Data.Edm
这解决了问题。
您可以尝试以下几件事:
HTH。
归档时间: |
|
查看次数: |
33367 次 |
最近记录: |