Xamarin缺少参考资料

本文关键字:参考资料 Xamarin | 更新日期: 2023-09-27 18:12:38

我刚刚试图将我的一个windows库导入Xamarin android应用程序,但收到以下错误:

加载程序集时出现异常:System.IO.FileNotFoundException:未能加载程序集"System.Web.Extensions,版本=4.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'。也许没有是否存在于Mono for Android配置文件中?文件名:位于的"System.Web.Extensions.dll"Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Reve(AssemblyNameReference参考,ReaderParameters参数(Xamarin.Android.Tasks.ResolveAssemblys.AddAssemblyReferences(ICollection`1程序集,AssemblyDefinition程序集,布尔顶层(Xamarin.Android.Tasks.ResolveAssemblys.Execute((App7

即使我尝试手动将引用添加到应用程序中,它仍然不起作用。

mono是否支持这个库(我觉得它非常有用(System.Web.Extensions

任何变通办法都将不胜感激,因为我不想重写一个工作dll或停止xamarin的开发。

PS:我尝试手动添加所有必需的dll,结果出现部署错误,没有任何描述。

Xamarin缺少参考资料

System.Web在Web服务器的上下文之外并没有太大的意义,所以从Xamarin的角度来看,我怀疑它是否会实现。

你可以尝试添加它:

System.Web.dll inn项目引用,单击编辑->Net Assembly->浏览,转到根目录-Library/Framework/Mono.Framework/Versions/4.2.2/lib/Mono/4.5/System.Web

或者,您可能需要查看试图导入的这个外部lib,看看是否可以删除任何引用并重新生成。

例如,它可能使用log4net,其中包括System.Web

看来我已经找到了答案,并将发布它以帮助他人。

首先,我尝试了VS建议的所有dll引用,以便不更改代码的任何部分。在添加了20多个引用之后,该操作失败了。我花了一个多小时。

其次,按照@jaymavers的建议,我决定从nuget上查一个图书馆。我使用Json.net只更改了一行代码,如下所示:

之前的代码:

var serializer11 = new System.Web.Script.Serialization.JavaScriptSerializer(); T dc1 = serializer11.Deserialize<T>(json);

至代码:

T dc1 = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(json);

然后项目开始顺利进行。我对图书馆的速度有一些考虑,但对于我的项目来说,速度并不是那么重要,所以我会很乐意使用它一段时间。