c# - System.IO.FileNotFoundException : Could not load assembly System. Web in Mono for Android

标签 c# mono xamarin.android onedrive

我正在使用 Xamarin 构建一个使用 SkyDrive .Net API Client 的 Android 应用程序但是当我尝试在模拟器上运行我的 android 应用程序时出现以下错误

Error: Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'System.Web.dll'
  at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference reference, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference reference) [0x00000] in <filename unknown>:0 
  at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences (System.Collections.Generic.List`1 assemblies, Mono.Cecil.AssemblyDefinition assembly, Boolean topLevel) [0x00000] in <filename unknown>:0 
  at Xamarin.Android.Tasks.ResolveAssemblies.Execute () [0x00000] in <filename unknown>:0  (MyApp)

显然我无法在 Xamarin.Android 中使用 System.Web 程序集。所以,问题是是否有办法加载丢失的程序集,或者我必须转移到另一个 API?

提前致谢

最佳答案

您是从源代码编译客户端还是以二进制形式获取客户端?

我想你已经编译过了,所以这是 Xamarin 和 MS .net 之间的库命名差异,没有 System.Web.dll(但几乎所有类都存在于 System.Web 命名空间中,但它们位于其他库)。

解决方案是下载客户端的源代码,在相同解决方案的 Xamarin Studio 中添加一个新的 Android Library 项目,将客户端的所有代码文件添加到该项目,添加任何必要的引用并在您的 main 中引用该项目项目,以这种方式将链接正确的库(如果没有类丢失,正如我所说,几乎没有,但不是全部)。

关于c# - System.IO.FileNotFoundException : Could not load assembly System. Web in Mono for Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228830/

相关文章:

c# - 将图片框图像存储到数据库

c# - 在Linq中使用List<Tuple<int, int>>返回数据

Xamarin - apk 应用程序大小

android - 加载程序集时出现 monodroid 异常 -> 无法加载程序集 System.Net

c# - 将 .Net int 数组转换为 Java.Lang.Object

android - 如何从证书中获取/生成 pin sha256

c# - 关于将 VS MVC3 项目发布到 Web 服务器的建议

c# - 如果您限制输入的最大长度,是否存在验证文本框输入的安全原因?

c# - 从 C# 在 JasperServer 上运行报告

c# - 使用 C# (Xamarin) 编写 Android 应用程序