我正在开发一个Windows Phone 8项目,该项目有一个PCL项目作为其业务层。业务层项目与Android(Xamarin)项目解决方案共享,并使用我们认为在WP 8项目中不可用的HttpClient。
所以根据博客here,我们决定使用System.Net.Http v1.5.0.0
dll的可移植版本,它可以很好地兼容WP8和Android解决方案。但它在WP项目的运行时给出了异常
发生了'System.IO.FileLoadException'类型的异常 Insight.Business.DLL但未在用户代码中处理
其他信息:无法加载文件或程序集 'System.Net.Http,Version = 2.0.0.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。该 找到程序集的清单定义与程序集不匹配 参考。 (HRESULT异常:0x80131040)
在PCL项目中,我还使用了依赖于System.Net.Http dll的System.Net.Http.Formatting
和Newtonsoft.Json
dll,我认为这会导致此异常。
我尝试使用app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
</dependentAssembly>
</assemblyBinding>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
但我还是无法解决这个问题。请帮助。
答案 0 :(得分:-1)
您不应该在PCL或Windows Phone应用程序中绑定重定向。
除PCL项目外,您是否已将Microsoft.Net.Http NuGet软件包安装到Windows Phone应用程序项目中?