无法加载文件或程序集System.Spatial'或其中一个依赖项

时间:2016-08-21 13:29:25

标签: c# azure visual-studio-2015 azure-storage

我收到此错误消息:

  

无法加载文件或程序集“System.Spatial,Version = 5.7.0.0,   Culture = neutral,PublicKeyToken = 49ba329had364evz'或其中一个   依赖。定位程序集的清单定义没有   匹配程序集引用。 (HRESULT异常:0x80131040)

我尝试卸载/更新System.SpatialWindowsAzure.Storage Nuget包但仍然收到错误。

它是WindowsAzure.Storage软件包的依赖项,但有趣的是,在本地运行ASP.NET Web API项目时,我不会遇到此错误,但只能在Azure服务器上运行。< / p>

我不知道在何处找到集会的清单,是packages.config吗?

如何摆脱这个错误?我已经浪费了两天:(

4 个答案:

答案 0 :(得分:12)

根据有问题的项目的bin 文件夹中的 DLL版本,更改了配置文件中的版本详细信息。

在配置文件中,它指的是版本5.6.4 ,但我已更改为版本5.6.3 ,这解决了错误。

更改前

<dependentAssembly>
        <assemblyIdentity name="System.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0" />
      </dependentAssembly>

改变后。

<dependentAssembly>
        <assemblyIdentity name="System.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0" />
      </dependentAssembly>

答案 1 :(得分:3)

如果您使用的是visual studio,请转到nugget包管理器并查看已安装的包,并使用更新窗格更新system.spatial包,

这解决了我的问题

答案 2 :(得分:1)

出于某种原因,我不知道,Visual Studio没有将较新的.dll文件上传到服务器。 所以我在服务器上手动上传了System.Spatial版本5.7.0。

(虽然我仍然不知道如何在所谓的清单中更改版本。)

答案 3 :(得分:1)

通过以下两个步骤使所有依赖项适合您当前的azure版本:

  • 打开程序包管理器控制台窗口
  • 输入http://url2.com

这就解决了我的问题。