首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS - error MT3001:无法对程序集进行AOT

iOS - error MT3001:无法对程序集进行AOT
EN

Stack Overflow用户
提问于 2019-10-11 21:47:11
回答 2查看 3.8K关注 0票数 6

昨天10/10/19,Xamarin Forms iOS项目正在建设中。今天,该项目更新到Mac和Windows上的最新组件,不再构建。

构建:发布- iPhone - TestMobile.iOS -设备

项目工作在Mac模拟器上。在iPhone硬件上部署和调试项目。

  • Visual Studio Pro 2019 - 16.3.4
  • 2019 for Mac-8.3.3 build 8
  • 所有组件最新的Mac
  • MacOS Catalina 10.15

构建日志:

代码语言:javascript
复制
3>  AOT Compilation exited with code 1, command:
3>  MONO_PATH=/Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/32/3-Build /Library/Frameworks/Xamarin.iOS.framework/Versions/13.4.0.2/bin/arm-darwin-mono-sgen --debug -O=gsharedvt -O=-float32  --aot=mtriple=armv7-ios,data-outfile=/Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/armv7/ZXingNetMobile.aotdata.armv7,static,asmonly,direct-icalls,full,soft-debug,dwarfdebug,no-direct-calls,outfile=/Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/armv7/ZXingNetMobile.dll.s "/Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/32/3-Build/ZXingNetMobile.dll"
3>  '/Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C' in MONO_PATH doesn't exist or has wrong permissions.
3>  '/Temp/iOS/mtouch-cache/32/3-Build' in MONO_PATH doesn't exist or has wrong permissions.
3>  The assembly mscorlib.dll was not found or could not be loaded.
3>  It should have been installed in the `/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/sdks/out/ios-cross32-release/lib/mono/4.5/mscorlib.dll' directory.
3>  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  -Wno-receiver-forward-class -Wno-objc-missing-super-calls -Wno-unguarded-availability-new -stdlib=libc++ -gdwarf-2 -std=c++14 -I/Library/Frameworks/Xamarin.iOS.framework/Versions/13.4.0.2/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk -Qunused-arguments -miphoneos-version-min=8.0 -arch arm64 -c -o /Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/arm64/registrar.o -x objective-c++ -DDEBUG /Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/64/registrar.m

3>  C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(842,3): 
error MT3001: Could not AOT the assembly '/Users/bob/Library/Caches/Xamarin/mtbs/builds/TestMobileXF.iOS/e5f1c3a4936492ad245f1c68c3157dfc/C:/Temp/iOS/mtouch-cache/64/3-Build/TestMobileXF.iOS.exe'

尝试过的iOS构建设置:

  • 链接者行为
  • 支撑建筑
  • LLVM编译器
  • 增量构建

恢复2019是最后的手段。任何想法都值得赞赏。

EN

回答 2

Stack Overflow用户

发布于 2019-10-21 23:22:37

发现了问题。在iOS.csproj文件中为iPhone发布配置文件设置以下内容:

代码语言:javascript
复制
<IntermediateOutputPath>obj\iPhone\ReleaseTemp</IntermediateOutputPath>

链接 链接

我在冗长的构建日志中看到"MONO_PATH不存在或权限错误“。

该项目现在正在构建,我可以创建一个Archive,并在Mac上看到IPA文件。

票数 3
EN

Stack Overflow用户

发布于 2019-10-12 20:54:32

只将架构更改为ARM64,它将成功地构建。

见此处:https://github.com/xamarin/xamarin-macios/issues/6925

这是因为Xamarin.iOS 12.99 (和13.0)附带的32位AOT编译器本身是32位二进制文件,32位二进制文件不会在macOS 10.15 Catalina上执行。

希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58348830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档