Azure应用服务-无法加载文件或程序集'System.Net.Http,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'

时间:2018-10-05 09:32:19

标签: c# asp.net azure asp.net-web-api2

获取

  

无法加载文件或程序集'System.Net.Http,Version = 4.2.0.0,   文化=中性,PublicKeyToken = b03f5f7f11d50a3a'或其中之一   依赖性。系统找不到指定的文件。”异常   作为应用程序服务发布到Azure之后。

我已经使用Entity Framework DB First方法创建了一个ASP.NET Wep API应用程序。 我没有使用任何NuGet包来安装System.Net.Http,它是在创建项目时自动添加的。最新版本是4.2.0.0。

当我在本地IIS(IIS Express)上运行时,效果很好。

我已成功将此应用程序发布为Azure应用程序服务,但未打开API主页。相反,我得到了上述异常。

我尝试在Web.config中使用bindingRedirect,但这无济于事。

我是Azure的新手,不确定如何部署dll。 任何帮助是极大的赞赏。

2 个答案:

答案 0 :(得分:1)

将项目升级到4.7.2。

结果显示为Visual Studio 2017,在安装System.Net.HTTP的.NET 4.3.3 Nuget程序包时,还要从GAC添加DLL引用。这与Assembly重定向一起导致运行时System.IO.FileNotFoundException寻找System.Net.Http的4.2.0.0版本。

好消息是,添加引用,从GAC中取消选中System.Net.Http (已自动添加或由项目中的其他开发人员同时添加),然后删除即可大会重定向。

有关更多详细信息,您可以参考此article

答案 1 :(得分:0)

我认为找到了问题的原因。我的项目使用的是.Net Framework版本4.7.2,在Azure上,应用程序服务使用的是.Net Framework版本4.7。因此,将项目属性中的目标框架更改为4.7似乎可行。