Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.ios 单触式';无法AOT程序集';_Xamarin.ios - Fatal编程技术网

Xamarin.ios 单触式';无法AOT程序集';

Xamarin.ios 单触式';无法AOT程序集';,xamarin.ios,Xamarin.ios,我使用的是MonoTouch 6.2,我有一个在模拟器上构建并运行良好的应用程序,但在为实际设备构建时出现“无法AOT程序集”错误 以前有人见过这个吗 以下是编译器输出: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++ -miphoneos-version-min=4.3 -arch armv7 -std=c99 -I/Developer/MonoTouc

我使用的是MonoTouch 6.2,我有一个在模拟器上构建并运行良好的应用程序,但在为实际设备构建时出现“无法AOT程序集”错误

以前有人见过这个吗

以下是编译器输出:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++  -miphoneos-version-min=4.3 -arch armv7  -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -x assembler-with-cpp -c /var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/GoogleAnalytics.dll.armv7.s -o /var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/GoogleAnalytics.dll.armv7.o
AOT Compilation exited with code 134, command:
MONO_PATH=/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app /Developer/MonoTouch/usr/bin/arm-darwin-mono --debug --aot=mtriple=armv7-darwin,full,static,asmonly,direct-icalls,soft-debug,no-direct-calls,iphone-abi,outfile=/var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/MyApp.exe.armv7.s "/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/MyApp.exe"
Mono Ahead of Time compiler - compiling assembly /Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/MyApp.exe
* Assertion at ../../../../../mono/mono/metadata/marshal.c:8613, condition `sig->param_count == invoke_sig->param_count + 1' not met


Mono Ahead of Time compiler - compiling assembly /Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/mscorlib.dll
Code: 1337720 Info: 35037 Ex Info: 487954 Unwind Info: 8707 Class Info: 22674 PLT: 3057 GOT Info: 65112 GOT: 22092 Offsets: 31427
Output file: '/var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/mscorlib.dll.armv7.s'.
Linking symbol: '_mono_aot_module_mscorlib_info'.
Compiled 6288 out of 6288 methods (100%)
Methods without GOT slots: 4052 (64%)
Direct calls: 246 (2%)
JIT time: 1134 ms, Generation time: 1793 ms, Assembly+Link time: 203 ms.

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++  -miphoneos-version-min=4.3 -arch armv7  -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -x assembler-with-cpp -c /var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/mscorlib.dll.armv7.s -o /var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/mscorlib.dll.armv7.o
error MT3001: Could not AOT the assembly '/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/MyApp.exe'
  at MTouch.GetObjectFileForAssembly (System.String assemblyName, Abi abi) [0x00000] in <filename unknown>:0 
  at MTouch+<CompileAssemblies>c__AnonStorey10.<>m__1A (System.String s) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Parallel+<ForEach>c__AnonStorey36`1[System.String].<>m__34 (System.String e, System.Threading.Tasks.ParallelLoopState s, System.Object l) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Parallel+<ForEach>c__AnonStorey35`2[System.String,System.Object].<>m__32 () [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.TaskActionInvoker+ActionInvoke.Invoke (System.Threading.Tasks.Task owner, System.Object state, System.Threading.Tasks.Task context) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task.InnerInvoke () [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task.ThreadStart () [0x00000] in <filename unknown>:0
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-miphoneos version min=4.3-arch-armv7-std=c99-I/Developer/MonoTouch/sdk/MonoTouch.iPhoneOS.sdk/usr/include-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.Platforms/Platforms/Platforms.Platforms/platform/Developer/sdk-x带cpp-/var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/GoogleAnalytics.dll.armv7.s-o/var/folders/rw/m66cxvf16kq37jxdt0d99580000gn/T/tmpc3662b4.tmp/GoogleAnalytics.dll.armv7.o
AOT编译已退出,代码134,命令:
MONO_PATH=/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/Developer/MonoTouch/usr/bin/arm darwin MONO--Debug--aot=mtriple=armv7 darwin,完整,静态,仅ASM,直接ICALL,软调试,无直接调用,iPhone abi,outfile=/var/folders/rw/m66cxvf16kq37jjjxdt09580000gn/T/tmpc3662b4.tmp/MyApp.exe.armv7.s“/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/MyApp.exe”
Mono超前编译器-编译程序集/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/MyApp.exe
*位于../../../../../../../mono/mono/metadata/marshal.c:8613的断言不满足条件'sig->param_count==invoke_sig->param_count+1'
Mono提前编译器-编译程序集/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/mscorlib.dll
代码:1337720信息:35037 Ex信息:487954展开信息:8707类别信息:22674 PLT:3057获取信息:65112获取:22092偏移:31427
输出文件:'/var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/mscorlib.dll.armv7.s'。
链接符号:“\u mono\u aot\u模块\u mscorlib\u信息”。
6288种方法中的6288种(100%)
没有获取插槽的方法:4052(64%)
直接电话:246(2%)
JIT时间:1134毫秒,生成时间:1793毫秒,组装+链接时间:203毫秒。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-miphoneos version min=4.3-arch-armv7-std=c99-I/Developer/MonoTouch/SDKs/MonoTouch.iPhoneOS.sdk/usr/include-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.Platforms/Platforms/Developer/iPhoneOS6.0.sdk-x带cpp的汇编程序-c/var/folders/rw/m66cxvf16kq37jjxdt0d99580000gn/T/tmpc3662b4.tmp/mscorlib.dll.armv7.s-o/var/folders/rw/m66cxvf16kq37jxdt0d99580000gn/T/tmpc3662b4.tmp/mscorlib.dll.armv7.o
错误MT3001:无法AOT程序集“/Users/me/dev/MyApp/Src/Plat/iOS/bin/iPhone/Debug/MyApp.app/MyApp.exe”
在:0中的MTouch.GetObjectFileForAssembly(System.String assemblyName,Abi Abi)[0x00000]处
在MTouch+c_uuanonStorey10.m_uu1a(System.String s)[0x00000]in:0时
在System.Threading.Tasks.Parallel+c_AnonStorey36`1[System.String].m_34(System.String e,System.Threading.Tasks.ParallelLoopState s,System.Object l)[0x00000]中:0
在System.Threading.Tasks.Parallel+c_uAnonStorey35`2[System.String,System.Object].m_u32()[0x00000]中:0
在:0中的System.Threading.Tasks.TaskActionInvoker+ActionInvoke.Invoke(System.Threading.Tasks.Task所有者、System.Object状态、System.Threading.Tasks.Task上下文)[0x00000]处
在0中的System.Threading.Tasks.Task.InnerInvoke()[0x00000]处
在0中的System.Threading.Tasks.Task.ThreadStart()[0x00000]处

已修复..问题是我有一个MonoPInvokeCallbackAttribute,其委托类型与函数的签名不匹配。例如:

delegate int SomeDelegate();

[ MonoPInvokeCallbackAttribute ( typeof( SomeDelegate ) ) ]
static void MyCallback( int x )
{
}

因此,SomeDelegate的签名与MyCallback的签名不匹配。问题是我有一个MonoInvokeCallbackAttribute,其委托类型与函数的签名不匹配。例如:

delegate int SomeDelegate();

[ MonoPInvokeCallbackAttribute ( typeof( SomeDelegate ) ) ]
static void MyCallback( int x )
{
}

因此,SomeDelegate的签名与MyCallback

的签名不匹配。如果你分享你是如何认识到这是问题的,那么这个答案可能会有用。如果你分享你是如何认识到这是问题的,那么这个答案可能会有用。