Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin发布版本出错,无法解析System.Void Xamarin.Forms.Log::Warning(System.String,System.String)_Xamarin.forms_Xamarin.android - Fatal编程技术网

Xamarin发布版本出错,无法解析System.Void Xamarin.Forms.Log::Warning(System.String,System.String)

Xamarin发布版本出错,无法解析System.Void Xamarin.Forms.Log::Warning(System.String,System.String),xamarin.forms,xamarin.android,Xamarin.forms,Xamarin.android,当我在调试模式下编译我的Xamarin应用程序时,一切都很好。但是,当我在发布模式下编译时,会出现以下错误: The "LinkAssemblies" task failed unexpectedly. Mono.Linker.MarkException: Error processing method: 'System.Void Xamarin.Forms.Pages.BaseDataSource/<Initialize>d__22::MoveNext()' in assembly

当我在调试模式下编译我的Xamarin应用程序时,一切都很好。但是,当我在发布模式下编译时,会出现以下错误:

The "LinkAssemblies" task failed unexpectedly.
Mono.Linker.MarkException: Error processing method: 'System.Void Xamarin.Forms.Pages.BaseDataSource/<Initialize>d__22::MoveNext()' in assembly: 'Xamarin.Forms.Pages.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void Xamarin.Forms.Log::Warning(System.String,System.String)
   at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference)
   at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
   at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
该“链接程序集”任务意外失败。
Mono.Linker.MarkException:错误处理方法:“System.Void Xamarin.Forms.Pages.BaseDataSource/d_u22::MoveNext()”在程序集中:“Xamarin.Forms.Pages.dll”-->Mono.Cecil.ResolutionException:未能解析System.Void Xamarin.Forms.Log::Warning(System.String,System.String)
在Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference)中
位于Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference)
at Mono.Linker.Steps.MarkStep.MarkInstruction(指令指令)
在Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)处
在Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition方法)中
在Mono.Linker.Steps.MarkStep.ProcessQueue()中
---内部异常堆栈跟踪的结束---
在Mono.Linker.Steps.MarkStep.ProcessQueue()中
在Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()中
在Mono.Linker.Steps.MarkStep.Process()中
在MonoDroid.Tuner.MonoDroidMarkStep.Process(链接上下文)
在Mono.Linker.Pipeline.ProcessStep(LinkContext上下文,IStep步骤)
在Mono.Linker.Pipeline.Process(LinkContext)上
在MonoDroid.Tuner.Linker.Process(LinkerOptions选项、ILogger记录器、LinkContext和context)
在Xamarin.Android.Tasks.LinkAssembly.Execute(DirectorySassemblyResolver)
在Xamarin.Android.Tasks.LinkAssemblies.Execute()中
位于Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ItaskeExecutionHost.Execute()
在Microsoft.Build.BackEnd.TaskBuilder.d_uu26.MoveNext()中
我创建了另一个应用程序,默认为“欢迎使用Xamarin表单”。效果很好。 添加了预发布主题,并在发布构建时出现上述错误


是否有人使用发布前的浅色/深色主题构建了发布应用程序,并且知道如何构建它?

设法修复它。在Android项目属性下的Android选项中将链接更改为“无”。。。而且。。。从MainActivity.cs注释掉此代码。当我第一次看到使用预发布主题时,它说下面的代码是必需的。似乎对于主题的更高版本,它不是必需的

// Added for themes (does not seem to be required anymore)? 
//var x = typeof(Xamarin.Forms.Themes.DarkThemeResources); 
//x = typeof(Xamarin.Forms.Themes.LightThemeResources); 
//var x = typeof(Xamarin.Forms.Themes.Android.UnderlineEffect);

也许你可以在Xamarin.Forms的GitHub中提供建议,因为缺少链接会使你的应用程序更大。