当我尝试构建应用程序时,我得到了一个异常,即以下异常:
C:\程序文件(x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.通用.目标(681,3):错误:无法解析程序集:'Java.互操作,版本=0.1.0.0,区域性=中性,公钥标记= 84 e04 ff 9 cfb 79065'
我试着清理项目并再次构建它,还更新了Xamarin.Forms包,但仍然没有运气。
关于堆栈跟踪的一些概述:
2〉C:\程序文件(x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.通用目标(681,3):错误:无法解析程序集:“Java.互操作,版本=0.1.0.0,区域性=中性,公钥令牌= 84 e04 ff 9 cfb 79065”2〉工具/库/框架/Xamarin.iOS.框架/版本/当前/bin/mtouch执行已完成。(任务ID:153)2〉MTouch:2016-07- 05 T14:27:15.8191415+05:30 -已完成(任务ID:153)2〉输出项:(任务ID:153)2〉已完成执行任务“MTouch”--失败。(任务ID:153)
有人收到这个错误吗?我正在运行最新的Xamarin for Visual Studio。
7条答案
按热度按时间xqk2d5yq1#
正如在上面的评论中提到的@SushiHangover
Java.Interop.dll
是从Xamarin.Android
和我得到一个错误的Xamarin.IOS
。我在PCL中有一个
Mono.Android
的引用,它总是在Xamarin.IOS
中引用,所以我间接地将Xamarin.Android
的dll引用到Xamarin.IOS
。从PCL中删除引用解决了我的问题。deikduxw2#
Step-by-step instructions on how to fish this one out, as it took me some time to find where the 'Android polluted' peace of code was.
.cs
file fails to build due to missing reference.jgwigjjp3#
如@AkashAmin所述,PCL项目中不应出现引用的“Mono.Android”。
但是,通过添加“使用Android”,还要确保您没有在PCL项目中添加任何“Android”特定代码,如果已添加,则需要使用“依赖关系服务”删除此代码,单击here
7dl7o3gd4#
我也遇到了同样的问题,当我从PCL项目中删除android.mono引用时,它工作得很好。
我认为这是因为我们正在iOS中构建项目,而它没有任何Android库
zy1mlcev5#
共享项目中的平台特定代码将导致iOS编译器在编译时尝试使用平台特定程序集。
在我的例子中,我在共享项目的代码中有一个引用,在"using"语句中,这导致iOS试图链接到Android特定的程序集。
从共享项目中删除代码可以成功编译项目。
1mrurvl16#
以防万一,我在VS2013(https://bugzilla.xamarin.com/show_bug.cgi?id=41627)上使用ReSharper时遇到了这个错误。
我所做的是使用变通方法将java.interop.dll程序集显式添加到我的项目中。此问题不会影响Build,因此您可以先进行部署,然后VS会将java.interop下载到应用的obj\Debug\linksrc文件夹中,您可以引用该文件夹...
yws3nbqq7#
你需要检查你的PLC项目上的Android链接。在PLC项目中Ctrl + f,让我们去找到"Android"并删除它。