Ios MT2002:未能解析程序集:System.Web

Ios MT2002:未能解析程序集:System.Web,ios,xamarin.ios,system.web,Ios,Xamarin.ios,System.web,我跟踪了第三方程序集,但没有得到任何线索。这是编译为本机代码时出现的错误=> /开发者/MonoTouch/usr/bin/mtouch-sdkroot”/Applications/Xcode.app/Contents/Developer“-v--cache”/Users/volgainfo/Projects/ScrapBoom/kill/ScrapBoom-Mongo-Stable/ScrapboomPhone/ScrapBoom.iPhone/obj/Debug/mtouch-cache”-

我跟踪了第三方程序集,但没有得到任何线索。这是编译为本机代码时出现的错误=>

/开发者/MonoTouch/usr/bin/mtouch-sdkroot”/Applications/Xcode.app/Contents/Developer“-v--cache”/Users/volgainfo/Projects/ScrapBoom/kill/ScrapBoom-Mongo-Stable/ScrapboomPhone/ScrapBoom.iPhone/obj/Debug/mtouch-cache”-nomanifest--nosign-dev“/Users/volgainfo/Projects/ScrapBoom/kill/ScrapBoom Mongo Stable/ScrapboomPhone/ScrapboomCore.iPhone/bin/iPhone/Debug/ScrapboomPhone.app”-r”/Users/volgainfo/Projects/ScrapBoom/kill/ScrapBoom Mongo Stable/ScrapboomPhone/ScrapboomCore.dll”-“/r”/Developer/MonoTouch/usr/lib/mono/2.1/System.dll”-”/Developer/MonoTouch/usr/lib/mono/2.1/System.Xml.dll“-r”/Developer/MonoTouch/usr/lib/mono/2.1/System.Core.dll“-r”/Developer/MonoTouch/usr/lib/mono/2.1/MonoTouch.Dialog-1.dll“-r”/Users/volgainfo-tech/Projects/ScrapBoom/kill/ScrapBoom-Mongo-Stable/ScrapBoom-phone/Assets/Emgu.CV.MonoTouch.dll“-r”/Users/volgainfo-tech/Projects/Projects/kill/ScrapBoom-Mongo-Stable/ScrapBoom-phone/Assets/FlurryAnalytics.dll“-debug-profiling-linksdkonly-sdk“6.1”-targetver“3.1”--sgen--abi=armv7”--linkskip=system.web”“/Users/volgainfo/Projects/ScrapBoom/kill/ScrapBoom Mongo-Stable/ScrapboomPhone/ScrapboomPhone.iPhone/bin/iPhone/debug/ScrapboomPhone.exe” 使用框架的MonoTouch商务版6.4.1:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk 将仅适用于assembly/Users/VolgaInfo/Projects/ScrapBoom/Kill/ScrapBoom Mongo Stable/ScrapboomPhone/ScrapBoom.iPhone/bin/iPhone/Debug/ScrapboomiPhone.exe的SDK链接到/Users/VolgaInfo/Projects/ScrapBoom/Kill/ScrapBoom Mongo Stable/ScrapboomPhone/ScrapBoom.iPhone/obj/Debug/mtouch-cache/PreBuild
错误MT2002:未能解析程序集:“System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”

该错误只能在生成时发生,而不能在运行应用程序时发生

这意味着您的一个依赖项(例如第三方二进制程序集)引用了
System.Web.dll
。该程序集未随(任何版本的)Xamarin.iOS一起提供

模拟器上不会出现此错误,因为:

  • 默认情况下,它不使用链接器(解决所有问题)

  • 它使用的是实时(JIT)编译器,因此只有当它尝试执行所需的代码时,才会命中丢失的程序集(或成员)

  • 在设备上运行所需的提前(AOT)编译器需要预编译所有内容,即在构建时(而不是运行时)将检测到缺少的任何内容


那么,有什么解决方案吗?在
System.Web上跟踪您的解决方案依赖关系
,并根据Xamarin附带的程序集对其进行更新(使用与Xamarin.iOS兼容的版本)或从源代码处重新生成。iOSI跟踪了第三方程序集,但没有得到任何线索。