1

我在为 iOS 构建应用程序时收到此错误。脚本后端设置为 IL2CPP,架构是通用的。我知道我的项目中的一个插件使用了 zxing 库,这导致了这个错误。当我为 android 构建但无法获得 ios 构建时,我没有收到任何错误。除了删除插件还有其他方法吗?

运行 C:\Program Files\Unity\Editor\Data\Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe 失败 -out "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed" -l none -c 链接 -x "C:\Program Files\Unity\Editor\Data\Tools\native_link.xml" -f "C:\Program Files\Unity\Editor\Data\il2cpp\LinkerDescriptors" -x "C:\Users \Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed..\platform_native_link.xml" -x "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS/Temp/StagingArea/Data/methods_pointedto_by_uievents .xml" -d "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed" -a "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea \Data\Managed\Assembly-CSharp-firstpass.dll" -a "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" -a "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data \Managed\Assembly-UnityScript.dll" -a "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll" -a "C:\Users\Koray \Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed\cscanner.dll" -a "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed\Google.ProtocolBuffers .dll" -a "C:\Users\Koray\Source\Repos\NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed\Google.ProtocolBuffers.Serialization.dll" -a "C:\Users\Koray\Source\Repos \NewJoyiOS\NewJoyiOS\Temp\StagingArea\Data\Managed\NativeToolkitWP8.dll"

标准输出:Mono CIL 链接器 Mono.Cecil.AssemblyResolutionException 中的致命错误:无法解析程序集:Mono.Linker.LinkContext.Resolve 中的“zxing.unity,版本=0.12.0.0,文化=中性,PublicKeyToken=null”(IMetadataScope 范围) [0x00000] 在:0 在 Mono.Linker.Steps.ResolveFromXmlStep.ProcessReferences (Mono.Cecil.AssemblyDefinition 程序集,Mono.Linker.LinkContext 上下文) [0x00000] 在:0 在 Mono.Linker.Steps.ResolveFromXmlStep.GetAssembly(Mono. Linker.LinkContext 上下文,System.String assemblyName) [0x00000] 在 :0 处 Mono.Linker.Steps.ResolveFromXmlStep.ProcessAssemblies (Mono.Linker.LinkContext 上下文,System.Xml.XPath.XPathNodeIterator 迭代器) [0x00000] 在 :0 处Mono.Linker.Steps.ResolveFromXmlStep.Process () [0x00000] in :0 在 Mono.Linker.Steps.BaseStep.Process (Mono.Linker.LinkContext 上下文)[0x00000] 在:0 在 Mono.Linker.Pipeline.Process(Mono.Linker.LinkContext 上下文)[0x00000] 在:0 在 Mono.Linker.Driver.Run () [0x00000] 在:0 在 Mono。 Linker.Driver.RunDriver(Mono.Linker.Driver 驱动程序)[0x00000] in :0 stderr:

UnityEngine.Debug:LogError(Object) UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (在 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:66) UnityEditorInternal.AssemblyStripper :RunAssemblyLinker(IEnumerable 1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:192) UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String, String, String&, String&, String, String, IEnumerable1) (在 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:185) UnityEditorInternal.AssemblyStripper:Strip(String, String, String&, String&, String, String, IEnumerable1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:136) UnityEditorInternal.AssemblyStripper:Strip(String[], String[], String, String, String&, String&, String, String, IEnumerable1) (在 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:121) UnityEditorInternal.IL2CPPBuilder:RunAssemblyStripper(IEnumerable, String, String[], String[], String) (在 C :/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:477) UnityEditorInternal.IL2CPPBuilder:StripAssemblies(String[], String) (在 C:/buildslave/unity/build/Editor/Mono/BuildPipeline /Il2Cpp/IL2CPPUtils.cs:465) UnityEditorInternal.IL2CPPBuilder:Run() (在 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:293) UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String , IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (在 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:211) UnityEditor.HostView:OnGUI()

4

1 回答 1

0

项目中有没有zxing.unity.dll文件?看起来缺少该程序集。我怀疑项目中有一个引用该程序集的 link.xml 文件。如果您删除该 link.xml 文件,事情可能会奏效。

请注意,这可能适用于 Android/Mono,因为默认情况下未启用托管代码剥离,因此项目中的 link.xml 文件将被忽略。

作为参考,这里有关于 Unity 的 link.xml 文件的更多详细信息。

于 2017-02-01T13:03:21.080 回答