我正在尝试构建Xamarin Forms Android,但是它没有在Release模式下编译,而Debug工作得很好。
错误细节:
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(5,5):Error MSB4018:"LinkAssemblies“任务意外失败。Mono.Linker.Steps.XmlResolutionException:未能处理XML描述:--> Mono.Cecil.AssemblyResolutionException:未能解析程序集:'Prism.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null‘- Mono.Cecil.AssemblyResolutionException:未能解析程序集:'Prism.Core,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null’at Mono.Cecil.BaseAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name,/Users/builder/data/lanes/6102/8255f42f/source/monodroid/external/xamarin-android/external/mono/external/cecil/Mono.Cecil/BaseAssemblyResolver.cs:172中的Mono.Cecil.ReaderParameters参数) 0x0015e在Mono.Linker.AssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference名称,( Mono.Linker.Steps.ResolveFromXmlStep.GetAssembly (Mono.Linker.LinkContext context,Mono.Cecil.AssemblyNameReference assemblyName) 0x00000 in <947dd92f52fa43c1922f96c7b9774bdc>:0 at Mono.Linker.Steps.ResolveFromXmlStep.ProcessAssemblies (Mono.Linker.LinkContext context)System.Xml.XPath.XPathNodeIterator迭代器( 0x00010 in <947dd92f52fa43c1922f96c7b9774bdc>:0 at Mono.Linker.Steps.ResolveFromXmlStep.Process () 0x00037 in Mono.Linker.Steps.ResolveFromXmlStep.Process () 0x00037 in <947dd92f52fa43c1922f96c7b9774bdc>:0 -内部异常堆栈跟踪- at Mono.Linker.Steps.ResolveFromXmlStep.Process() 0x000a9 in <947dd92f52fa43c1922f96c7b9774bdc>:0 at Mono.Linker.Steps.BaseStep.Process (Mono.Linker.LinkContext context) 0x00010 in <947dd92f52fa43c1922f96c7b9774bdc>:0 at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) 0x0001c in <947dd92f52fa43c1922f96c7b9774bdc>:0 )在MonoDroid.Tuner.Linker.Run (Mono.Linker.Pipeline管道),Mono.Linker.LinkContext上下文) 0x00000在<947dd92f52fa43c1922f96c7b9774bdc>:0 at MonoDroid.Tuner.Linker.Process (MonoDroid.Tuner.LinkerOptions options,Mono.Linker.ILogger记录器)0x002d4在Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () 0x002d4在<947dd92f52fa43c1922f96c7b9774bdc>:0 at Xamarin.Android.Tasks.LinkAssemblies.Execute () 0x0021f在<947dd92f52fa43c1922f96c7b9774bdc>:0 at 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 at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost )Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext,Microsoft.Build.BackEnd.TaskHost taskHost,Microsoft.Build.BackEnd.ItemBucket bucket,Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) 0x001f6 in /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模式下构建的,如果我启用了‘使用共享的Mono’,但是如果它被禁用了,那么构建解决方案就有问题了。
发布于 2019-02-20 08:29:38
好吧,我发现问题出在LinkerSettings身上。以前我的链接器设置是这样的:
<linker>
<assembly
fullname="Prism.Core" />
<assembly
fullname="Prism.Forms" />
<assembly
fullname="Prism.Unity.Forms" />
<assembly
fullname="Prism.Plugin.Popups" />
</linker>我更新到:
<linker>
<assembly
fullname="Prism.Forms">
<type
fullname="Prism.Common.ApplicationProvider"
preserve="all" />
<type
fullname="Prism.Services.PageDialogService"
preserve="all" />
<type
fullname="Prism.Services.DeviceService"
preserve="all" />
<type
fullname="Prism.Ioc*"
preserve="all" />
<type
fullname="Prism.Modularity*"
preserve="all" />
<type
fullname="Prism.Navigation*"
preserve="all" />
<type
fullname="Prism.Behaviors.PageBehaviorFactory"
preserve="all">
<method
name=".ctor" />
</type>
<type
fullname="Prism.Services.DependencyService"
preserve="all">
<method
name=".ctor" />
</type>
</assembly>
<assembly
fullname="Prism">
<type
fullname="Prism.Navigation*"
preserve="all" />
<type
fullname="Prism.Logging.EmptyLogger"
preserve="all">
<method
name=".ctor" />
</type>
</assembly>
</linker>现在,应用程序也在发布模式上做得很好。
https://stackoverflow.com/questions/54780906
复制相似问题