【发布时间】:2019-02-20 07:25:13
【问题描述】:
我正在尝试构建 Xamarin Forms Android 应用程序,但它没有在 Release 模式下编译,而 Debug 工作正常。
错误详情:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(5,5): 错误 MSB4018:“LinkAssemblies”任务意外失败。 Mono.Linker.Steps.XmlResolutionException:无法处理 XML 描述:---> Mono.Cecil.AssemblyResolutionException:无法解析程序集: 'Prism.Core,版本=0.0.0.0,文化=中性,PublicKeyToken=null' ---> Mono.Cecil.AssemblyResolutionException: 无法解析程序集: 'Prism.Core, Version=0.0.0.0, Culture=neutral, Mono.Cecil.BaseAssemblyResolver.Resolve 处的 PublicKeyToken=null' (Mono.Cecil.AssemblyNameReference 名称,Mono.Cecil.ReaderParameters 参数)[0x0015e] in /Users/builder/data/lanes/6102/8255f42f/source/monodroid/external/xamarin-android/external/mono/external/cecil/Mono.Cecil/BaseAssemblyResolver.cs:172 在 Mono.Linker.AssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference 名称,Mono.Cecil.ReaderParameters 参数)[0x0005c] in :0 at Mono.Linker.LinkContext.Resolve(Mono.Cecil.IMetadataScope 范围) [0x00007] in :0 --- 内部结束 异常堆栈跟踪 --- 在 Mono.Linker.LinkContext.Resolve (Mono.Cecil.IMetadataScope 范围)[0x00030] 在 :0 在 Mono.Linker.Steps.ResolveFromXmlStep.GetAssembly (Mono.Linker.LinkContext 上下文,Mono.Cecil.AssemblyNameReference assemblyName) [0x00000] 在 :0 处 Mono.Linker.Steps.ResolveFromXmlStep.ProcessAssemblies (Mono.Linker.LinkContext 上下文,System.Xml.XPath.XPathNodeIterator 迭代器)[0x00010] 在 :0 在 Mono.Linker.Steps.ResolveFromXmlStep.Process () [0x00037] 在 :0 --- 内部异常结束 堆栈跟踪 --- 在 Mono.Linker.Steps.ResolveFromXmlStep.Process () [0x000a9] 在 :0 处 Mono.Linker.Steps.BaseStep.Process(Mono.Linker.LinkContext 上下文) [0x00010] 在 :0 在 Mono.Linker.Pipeline.Process(Mono.Linker.LinkContext 上下文) [0x0001c] 在 :0 处 MonoDroid.Tuner.Linker.Run(Mono.Linker.Pipeline 管道, Mono.Linker.LinkContext 上下文)[0x00000] 在 :0 在 MonoDroid.Tuner.Linker.Process(MonoDroid.Tuner.LinkerOptions 选项, Mono.Linker.ILogger 记录器,Mono.Linker.LinkContext& 上下文) [0x00071] 在 :0 中 Xamarin.Android.Tasks.LinkAssemblies.Execute (Java.Interop.Tools.Cecil.DirectoryAssemblyResolver res)[0x002d4] 在 :0 在 Xamarin.Android.Tasks.LinkAssemblies.Execute () [0x0021f] 在 :0 在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00023] 在 /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/msbuild-15/src/Build/BackEnd/TaskExecutionHost/TaskExecutionHost.cs:573 在 Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost 任务主机, Microsoft.Build.BackEnd.ItemBucket 存储桶, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x001f6] 在 /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/msbuild-15/src/Build/BackEnd/Components/RequestBuilder/TaskBuilder.cs:784 (MSB4018) (VSTSBuild.Droid)
我还注意到,如果我启用“使用共享单声道运行时”,它也在 Release 模式下构建,但如果它被禁用,那么我在构建解决方案时遇到问题。
【问题讨论】:
-
您是否已将 Prism.Core 包添加到您的 Xamarin.Android 项目中?
-
是的,在 Xamarin.Android 项目中添加了 Prism.Core 包
标签: xamarin xamarin.forms