首页 文章

Xamarin iOS链接器在System.Net.Http.Primitives.dll上失败

提问于
浏览
0

在为Release I构建我的Xamarin iOS(10.4.0.88)项目时,仅在启用Link SDK程序集时会出现以下错误 . 我有Mono版本4.8.0.459

C:\ Program Files(x86)\ MSBuild \ Xamarin \ iOS \ Xamarin.iOS.Common.targets(694,3):警告:无法将Aot文件复制到目标目录/ Users / markmeyer / Library / Caches / Xamarin / mtbs / builds / ServiceOrdersMobileApps.iOS / 295315d462497600265210bd6b0fdce2 / obj / iPhone / Release / mtouch-cache / 64 / Build / Msym / Msym / tmp:无法启动进程 . 1> ---内部异常1> System.ComponentModel.Win32Exception(0x80004005):ApplicationName ='mono-symbolicate',CommandLine ='store-symbols“/ Users / markmeyer / Library / Caches / Xamarin / mtbs / builds / ServiceOrdersMobileApps . iOS / 295315d462497600265210bd6b0fdce2 / bin / iPhone / Release / ServiceOrdersMobileAppsiOS.app.mSYM“”/ Users / markmeyer / Library / Cache / Xamarin /mtbs / builds / ServiceOrdersMobileApps.iOS / 295315d462497600265210bd6b0fdce2 / obj / iPhone /Release/mtouch-cache/64/在/ private / tmp /中的System.Diagnostics.Process.StartWithCreateProcess(System.Diagnostics.ProcessStartInfo startInfo)[0x0018b]中的Build / Msym / Msym / tmp“',CurrentDirectory ='',Native error =找不到指定的文件1> source-mono-4.8.0 / bockbuild-mono-4.8.0-branch / profiles / mono-mac-xamarin / build-root / mono-x86 / mcs / class / System / System.Diagnostics / Process.cs:737 1 > --- 1> C:\ Program Files(x86)\ MSBuild \ Xamarin \ iOS \ Xamarin.iOS.Common.targets(694,3):警告:Aot文件无法复制到目标目录/ Users / markmeyer / Librar y / Caches / Xamarin / mtbs / builds / ServiceOrdersMobileApps.iOS / 295315d462497600265210bd6b0fdce2 / obj / iPhone / Release / mtouch-cache / 32 / Build / Msym / Msym / tmp:无法启动进程 . 1> ---内部异常1> System.ComponentModel.Win32Exception(0x80004005):ApplicationName ='mono-symbolicate',CommandLine ='store-symbols“/ Users / markmeyer / Library / Caches / Xamarin / mtbs / builds / ServiceOrdersMobileApps . iOS / 295315d462497600265210bd6b0fdce2 / bin / iPhone / Release / ServiceOrdersMobileAppsiOS.app.mSYM“”/ Users / markmeyer / Library / Cache / Xamarin / mtbs / builds / ServiceOrdersMobileApps.iOS / 295315d462497600265210bd6b0fdce2 / obj / iPhone /Release /mtouch-cache / 32 /在/ private / tmp /中的System.Diagnostics.Process.StartWithCreateProcess(System.Diagnostics.ProcessStartInfo startInfo)[0x0018b]中的Build / Msym / Msym / tmp“',CurrentDirectory ='',Native error =找不到指定的文件1> source-mono-4.8.0 / bockbuild-mono-4.8.0-branch / profiles / mono-mac-xamarin / build-root / mono-x86 / mcs / class / System / System.Diagnostics / Process.cs:737 1 > --- 1>进程退出代码1,命令:1> /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5 /月o-cil-strip.exe /Users/markmeyer/Library/Caches/Xamarin/mtbs/builds/ServiceOrdersMobileApps.iOS/295315d462497600265210bd6b0fdce2/obj/iPhone/Release/mtouch-cache/64/Build/System.Net.Http.Primitives . dll /Users/markmeyer/Library/Caches/Xamarin/mtbs/builds/ServiceOrdersMobileApps.iOS/295315d462497600265210bd6b0fdce2/bin/iPhone/Release/ServiceOrdersMobileAppsiOS.app/.monotouch-64/System.Net.Http.Primitives.dll 1> Mono CIL Stripper 1>错误:System.ArgumentOutOfRangeException:索引超出范围 . 必须是非负数且小于集合的大小 . 1>参数名称:索引1>在System.Collections.CollectionBase.System.Collections.IList.get_Item(System.Int32 index)[0x00022] in <12e050e5b3d34326a1b4e2e7624e75da>:0 1> at Mono.Cecil.AssemblyNameReferenceCollection.get_Item(System . 位于<515b8343d4d0423f92114中的Int32索引)[0x00006]:在Mono.Cecil.ReflectionReader.GetExportedTypeScope(Mono.Cecil.Metadata.MetadataToken范围)[0x00043]中的<0x1543],位于Mono.Cecil.ReflectionReader中的<515b8343d4d0423f92114dba6b015690>:0 1> . 在<515b8343d4d0423f92114dba6b015690>中的VisitExternTypeCollection(Mono.Cecil.ExternTypeCollection externs)[0x00089]:在<515b8343d4d0423f92114dba6b015690>中的Mono.Cecil.AggressiveReflectionReader.ReadExternTypes()[0x0000c]中的:0 1>:0 1>在Mono.Cecil.AggressiveReflectionReader.VisitTypeDefinitionCollection( Mono.Cecil.TypeDefinitionCollection types)[0x0004f] in <515b8343d4d0423f92114dba6b015690>:0 1> at Mono.Cecil.ReflectionReader.VisitModuleDefinition(Mono.Cecil.ModuleDefinition mod)[0x00007] in <515b8343d4d0423f9 2114dba6b015690>:0 1>在Mono.Cecil.StructureReader.TerminateAssemblyDefinition(Mono.Cecil.AssemblyDefinition asm)[0x00034] in <515b8343d4d0423f92114dba6b015690>:0 1> atMono.Cecil.AssemblyDefinition.Accept(Mono.Cecil.IReflectionStructureVisitor visitor)[0x0001f] in <515b8343d4d0423f92114dba6b015690>:0 1> at Mono.Cecil.AssemblyFactory.GetAssembly(Mono.Cecil.Binary.ImageReader irv,System.Boolean manifestOnly)[ 0x00014]在<515b8343d4d0423f92114dba6b015690>:0 1> at Mono.Cecil.AssemblyFactory.GetAssembly(Mono.Cecil.Binary.ImageReader reader)[0x00000] in <515b8343d4d0423f92114dba6b015690>:0 1> at Mono.Cecil.AssemblyFactory.GetAssembly(System . 字符串文件)[0x00006]在<515b8343d4d0423f92114dba6b015690>中:0 1>在Mono.CilStripper.Program.Main(System.String [] args)[0x00029] in <515b8343d4d0423f92114dba6b015690>:0 1> C:\ Program Files(x86)\ MSBuild \ Xamarin \ iOS \ Xamarin.iOS.Common.targets(694,3):错误:无法剥离程序集/Users/markmeyer/Library/Caches/Xamarin/mtbs/builds/ServiceOrdersMobileApps.iOS/295315d462497600265210bd6b0fdce2/obj/iPhone/发布/ mTouch触摸缓存/ 64 /编译/ System.Net.Http.Primitives.dll . 1> ---内部异常1> C:\ Program Files(x86)\ MSBuild \ Xamarin \ iOS \ Xamarin.iOS.Common.targets(694,3):错误:无法去除程序集/ Users / markmeyer / Library /缓存/ Xamarin / MTBS /构建/ ServiceOrdersMobileApps.iOS / 295315d462497600265210bd6b0fdce2 / OBJ / iPhone /发行/ mTouch触摸缓存/ 64 /编译/ System.Net.Http.Primitives.dll . 1> --- 1>在/ Users / builder / data / lanes / 3985 / 9975cb17 / source / xamarin-macios / tools中的MonoTouch.Tuner.Stripper.Process(System.String assembly_file,System.String output_file)[0x000ba] /mtouch/Stripper.cs:33 1>在/ Users / builder / data / lanes / 3985 / 9975cb17 / source / xamarin-macios / tools中的Xamarin.Bundler.Target.m__2(Xamarin.Bundler.Assembly程序集)[0x00065] /mtouch/Target.cs:1041 1> at System.Threading.Tasks.Parallel c__AnonStorey62 [TSource,TLocal] . <> m__0(System.Int32 i)[0x00012]在<12e050e5b3d34326a1b4e2e7624e75da>:0 1>在System.Threading . Tasks.Parallel <ForWorker> c__AnonStorey31 [TLocal] . <> m__1()[0x000ed] in <12e050e5b3d34326a1b4e2e7624e75da>:0

我有以下额外的mtouch参数

-cxx -gcc_flags“-lc”-v -v -v -v

如果我关闭链接器,一切都会构建并正常工作 . 我需要链接器才能让应用程序商店批准我的应用程序,因为它删除了我不需要的东西(例如CallKit) . 有什么建议?

1 回答

  • 1

    我遇到了同样的问题,刚刚找到了解决方案 . 这似乎是当前测试版Xamarin iOS(10.4)和单声道框架的问题 .

    假设你不在Xamarin的稳定 Channels :

    在Mac上打开Xamarin Studio,然后从主菜单中单击检查更新 . 切换回稳定通道并将Mono Framework和Xamarin iOS版本降级到当前版本 .

    在这样做之后,我能够在应用程序商店中使用Xamarin Studio构建应用程序存档,并启用链接 .

    如果您一直在使用Visual Studio for Mac Preview,则此版本的Mono Framework与它不兼容,因此您必须在Windows上坚持使用Xamarin Studio或Visual Studio .

相关问题