我刚升级到Xamarin studio 5.9(build 431),无法再运行我的项目了。它适用于一个干净的项目。
当我运行我的应用程序时,我甚至都没有登陆Main。
Xamarin工作室中的应用程序输出打印了一堆装配加载。它到达MobileClientiOS.app/Newtonsoft.Json.dll [External]
,然后崩溃并输出以下内容:
无法加载文件或程序集System.Threading.Tasks'或其中一个 依赖。该系统找不到指定的文件。 System.AppDomain.Load中的(System.IO.FileNotFoundException) (System.Reflection.AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity)[0x00081] in ... / mono / mcs / class / corlib / System / AppDomain.cs:706 at System.AppDomain.Load(System.Reflection.AssemblyName assemblyRef) [0x00000]在... / mono / mcs / class / corlib / System / AppDomain.cs:674 at System.Reflection.Assembly.Load(System.Reflection.AssemblyName assemblyRef)[0x00000] in ... / mono / mcs / class / corlib / System.Reflection / Assembly.cs:551 at ObjCRuntime.Runtime.CollectReferencedAssemblies (System.Collections.Generic.List 1个程序集, System.Reflection.Assembly assembly)[0x00019] in ... / maccore / src / ObjCRuntime / Runtime.cs:218 at ObjCRuntime.Runtime.CollectReferencedAssemblies (System.Collections.Generic.List 1个程序集, System.Reflection.Assembly assembly)[0x0002c] in ... / maccore / src / ObjCRuntime / Runtime.cs:220 at ObjCRuntime.Runtime.CollectReferencedAssemblies (System.Collections.Generic.List 1个程序集, System.Reflection.Assembly assembly)[0x0002c] in ... / maccore / src / ObjCRuntime / Runtime.cs:220 at ObjCRuntime.Runtime.RegisterEntryAssembly(System.Reflection.Assembly entry_assembly)[0x0001b] in ... / maccore / src / ObjCRuntime / Runtime.cs:200 at ObjCRuntime.Runtime.RegisterEntryAssembly(IntPtr a)[0x00000] in ... / maccore / src / ObjCRuntime / Runtime.cs:158 at ObjCRuntime.Runtime.register_entry_assembly(IntPtr程序集) [0x00000]在... / maccore / runtime / Delegates.generated.cs中:118 at (包装器本机到托管) ObjCRuntime.Runtime:register_entry_assembly(intptr)2015-05-04
MobileClientiOS [77830:1943120]批评:获得了SIGABRT 执行本机代码。这通常表明该致命错误 单声道运行时或应用程序使用的本机库之一。
对于漫长的堆栈跟踪感到抱歉,但我没有想法。我们正在使用PCL,但在Xamarin Studio升级之前还没有问题。
谢谢!
编辑: 我降级了Xamarin.iOS并重新开始工作。似乎失败的程序集(现在可以使用旧版本):
/MobileClientiOS.app/System.Xml.Linq.dll [外部]
如何使用最新版本运行?我不知道。
答案 0 :(得分:17)
为了猜测,我认为这可能与Xamarin Bug 29211具有相同的根本原因。
如果这是真的,那么同样的解决方法很有可能会起作用:
在“项目选项 - > iOS构建 - >其他mtouch参数”下添加:
-linkskip = System.Threading.Tasks
如果该解决方法确实有效,那么很可能在即将发布的服务版本中修复该问题(将于本周晚些时候发布)。
事实证明System.Threading.Tasks
存在问题的另一个微妙不同的常见原因。第二个bug最初是由Bug 29211隐藏的,因为这两个bug非常相似。现在正在Xamarin Bug 31560中跟踪第二个问题。请注意,此错误仅影响模拟器构建,并且具有相当简单的解决方法,因此其严重性较小。