1
我正在朝着我的第一个Android应用程序工作,并遇到麻烦。我正在尝试构建和存档最简单的Android应用程序,但无法使存档步骤起作用。非常简单的Xamarin.Forms应用程序不会存档
下面是我在做什么...
- 开始VS2017预览与Xamarin预览扩展和Xamarin更新程序(一切完全更新)
运行Android SDK管理器并安装以下
Android SDK Tools 25.2.5 Android SDK Platform-tools 26 Android SDK Build-tools 26 Android SDK Build-tools 25.0.3 Android SDK Build-tools 25.0.2 Android SDK Build-tools 25.0.1 Android SDK Build-tools 25 SDK Platform 25.3 Android Support Repository 47 Google Play Services 42 Instant Apps Development SDK 1 Google Play Licensing Library 1 Google Play Billing Library 5 Google USB Driver 11 Google Web Driver 2 Emulator 26
使用默认值(Xamarin.Forms - 空白应用程序 - 共享项目)创建一个新的跨平台(App1),我不对代码做任何更改。
打开App1.Android Poperties
Compile using Android version: Android 7.1 (Nougat) Package Name: App1 Version number: 1 Version name: 1.0 Minimum Android version: Android 7.1 (API Level 25 - Nougat) Target Android version: Android 7.1 (API Level 25 - Nougat) Linking: Sdk Assemblies Only Everything else are default values
集的版本和编译:成功
归档:将 “LinkAssemblies” 任务意外失败。
Mono.Linker.MarkException: Error processing method: 'TNativeView Xamarin.Forms.Platform.Android.ViewRenderer'2::get_Control()' in assembly: 'Xamarin.Forms.Platform.Android.dll' ---> System.ArgumentNullException: Value cannot be null. Parameter name: instruction at Mono.Cecil.Cil.InstructionOffset..ctor(Instruction instruction) at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) at Mono.Cecil.Cil.CodeReader.ReadScopes(Collection'1 scopes) at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) at Mono.Cecil.Cil.CodeReader.ReadScopes(Collection'1 scopes) at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) at Mono.Cecil.Cil.CodeReader.ReadDebugInfo() at Mono.Cecil.Cil.CodeReader.ReadMethodBody() at Mono.Cecil.Cil.CodeReader.ReadMethodBody(MethodDefinition method) at Mono.Cecil.MethodDefinition.<>c.<get_Body>b__41_0(MethodDefinition method, MetadataReader reader) at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TRet& variable, TItem item, Func'3 read) at Mono.Cecil.MethodDefinition.get_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.Process() at Mono.Linker.Steps.MarkStep.Process(LinkContext context) at Mono.Linker.Pipeline.Process(LinkContext context) at MonoDroid.Tuner.Linker.Process(LinkerOptions options, 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()
我要去哪里错了?我怎么能搞砸这样一个简单的空白模板应用程序?
使用'Linking:None'确实能够成功构建和存档。用'Sdk Assemblies Only'再次尝试会导致构建成功,链接步骤会失败,同时出现相同的确切错误。 – davecove