使用Azure部署选项时的相关性错误(System.Net.Http)-在Visual Studio中发布时有效

时间:2018-08-01 13:10:31

标签: c# asp.net asp.net-mvc azure

我有一个很奇怪的情况,希望有人能帮忙!

我有一个普通的ASP.NET MVC网站。我已设置“部署选项”以在每次Develop提交时将其推送到域。但是,这已经开始产生依赖项错误:

Could not load file or assembly 'System.Net.Http' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

现在,我认为这是一些缓存,因为解决方案在本地有效。因此,我已经在Visual Studio中发布了几次应用程序(可以选择删除所有远程文件),然后该解决方案就可以了。

但是,执行完此操作之后,我又回到了带有“部署选项”的常规提交状态,回到了同样的错误:

enter image description here

3 个答案:

答案 0 :(得分:1)

根据您的描述,它似乎已经成功部署了。

您最近升级了项目吗?如果是,请查看此线程Strange issue with System.Net.Http 4.2.0.0 not found

此外,检查是否从NuGet而不是GAC引用DLL。

答案 1 :(得分:0)

首先想到的是,您在解决方案中添加了一个新的DLL,它依赖于System.Net.Http程序集的另一个版本。如果您知道添加了新的DLL,请检查其程序集依赖性。

另一个解决方案可能是用代码手动指定程序集的版本。然后选择SpecificVersion。 (但我猜这是导致问题的第一件事)。

答案 2 :(得分:0)

我曾经遇到过类似的问题。 System.Net.Http软件包之间的版本应该不匹配。

尝试验证整个解决方案的System.Net.Http版本,并在所有项目中引用相同的版本。

如果在一个项目中引用了一个程序包,而在另一个项目中引用了该程序包的不同版本,则会发生这种情况。在这两个项目之间存在引用时,就会发生此错误。