将Android App升级到MvvmCross 6.4.1导致在Visual Studio 2017上构建失败

问题描述 投票:1回答:1

正如标题所示,我正在升级现有Xamarin.Android项目的依赖项。 Android项目将MvvmCross用于许多跨平台代码(我们也支持其他平台)。作为此升级的一部分,我们将从MvvmCross 6.2.2迁移到6.4.1。

但是,升级库后,使用Visual Studio 2017构建项目时,将不再按预期构建项目。我收到的错误消息如下所示。我曾尝试清洁和重建无济于事。该项目使用Visual Studio 2019构建,但遇到奇怪的行为;这甚至在升级我们的依赖项之前就已经发生。

关于解决此问题的任何建议,我们将不胜感激。提前非常感谢您!

The "LinkAssemblies" task failed unexpectedly.
Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Could not resolve reference to 'System.Collections.Generic.Stack`1' (defined in assembly 'MvvmCross, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null') with scope 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. When the scope is different from the defining assembly, it usually means that the type is forwarded. ---> Mono.Cecil.ResolutionException: Failed to resolve System.Collections.Generic.Stack`1
   at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type)
   at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly)
   at Mono.Linker.Steps.MarkStep.Initialize()
   at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
   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)
   --- End of inner exception stack trace ---
   at Java.Interop.Tools.Diagnostics.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args)
   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() RadResponder.Mobile.UI.Droid            

xamarin xamarin.android upgrade mvvmcross build-error
1个回答
0
投票

从MvvmCross 6.3.1升级到MvvmCross 6.4.1并使用VS 2017后,我们也出现了类似错误:

未处理的异常:System.TypeLoadException:无法解析类型来自typeref的令牌01000113(预期类'System.Collections.Generic.Stack1' in assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e') assembly:mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e type:System.Collections.Generic.Stack1成员:(null)发生

无法从typeref中解析带有令牌01000113的类型(预期类'System.Collections.Generic.Stack1' in assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e') assembly:mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e type:System.Collections.Generic.Stack1成员:(null)

  at MvvmCross.Platforms.Android.Binding.MvxAndroidBindingBuilder.InitializeContextStack () [0x00000] in D:\a\1\s\MvvmCross\Platforms\Android\Binding\MvxAndroidBindingBuilder.cs:273 
  at MvvmCross.Platforms.Android.Binding.MvxAndroidBindingBuilder.RegisterPlatformSpecificComponents () [0x0000c] in D:\a\1\s\MvvmCross\Platforms\Android\Binding\MvxAndroidBindingBuilder.cs:268 
  at MvvmCross.Binding.MvxCoreBindingBuilder.DoRegistration () [0x00048] in D:\a\1\s\MvvmCross\Binding\MvxCoreBindingBuilder.cs:36 
  at MvvmCross.Binding.MvxBindingBuilder.DoRegistration () [0x00000] in D:\a\1\s\MvvmCross\Binding\MvxBindingBuilder.cs:16 
  at MvvmCross.Platforms.Android.Binding.MvxAndroidBindingBuilder.DoRegistration () [0x00012] in D:\a\1\s\MvvmCross\Platforms\Android\Binding\MvxAndroidBindingBuilder.cs:32 
  at MvvmCross.Platforms.Android.Core.MvxAndroidSetup.InitializeBindingBuilder () [0x0000d] in D:\a\1\s\MvvmCross\Platforms\Android\Core\MvxAndroidSetup.cs:164 
  at MvvmCross.Platforms.Android.Core.MvxAndroidSetup.InitializeLastChance () [0x00006] in D:\a\1\s\MvvmCross\Platforms\Android\Core\MvxAndroidSetup.cs:151 
  at MvvmCross.Core.MvxSetup.InitializeSecondary () [0x0017a] in D:\a\1\s\MvvmCross\Core\MvxSetup.cs:132 
  at MvvmCross.Core.MvxSetupSingleton+<<StartSetupInitialization>b__13_0>d.MoveNext () [0x0001c] in D:\a\1\s\MvvmCross\Core\MvxSetupSingleton.cs:187 
--- End of stack trace from previous location where exception was thrown ---
  at MvvmCross.Core.MvxSetupSingleton.EnsureInitialized () [0x0006e] in D:\a\1\s\MvvmCross\Core\MvxSetupSingleton.cs:116 
  at MvvmCross.Platforms.Android.Views.MvxActivityViewExtensions.EnsureSetupInitialized (MvvmCross.Platforms.Android.Views.IMvxAndroidView androidView) [0x0001c] in D:\a\1\s\MvvmCross\Platforms\Android\Views\MvxActivityViewExtensions.cs:154 
  at MvvmCross.Platforms.Android.Views.MvxActivityViewExtensions.OnViewCreate (MvvmCross.Platforms.Android.Views.IMvxAndroidView androidView, Android.OS.Bundle bundle) [0x00014] in D:\a\1\s\MvvmCross\Platforms\Android\Views\MvxActivityViewExtensions.cs:39 
  at MvvmCross.Platforms.Android.Views.MvxActivityAdapter.EventSourceOnCreateCalled (System.Object sender, MvvmCross.Base.MvxValueEventArgs`1[T] eventArgs) [0x00000] in D:\a\1\s\MvvmCross\Platforms\Android\Views\MvxActivityAdapter.cs:76 
  at (wrapper delegate-invoke) System.EventHandler`1[MvvmCross.Base.MvxValueEventArgs`1[Android.OS.Bundle]].invoke_void_object_TEventArgs(object,MvvmCross.Base.MvxValueEventArgs`1<Android.OS.Bundle>)
  at MvvmCross.Base.MvxDelegateExtensions.Raise[T] (System.EventHandler`1[TEventArgs] eventHandler, System.Object sender, T value) [0x00000] in D:\a\1\s\MvvmCross\Base\MvxDelegateExtensions.cs:18 
  at MvvmCross.Droid.Support.V7.AppCompat.EventSource.MvxEventSourceAppCompatActivity.OnCreate (Android.OS.Bundle bundle) [0x00014] in D:\a\1\s\MvvmCross.Android.Support\V7.AppCompat\EventSource\MvxEventSourceAppCompatActivity.cs:33 
  at MvvmCross.Droid.Support.V7.AppCompat.MvxAppCompatActivity.OnCreate (Android.OS.Bundle bundle) [0x00000] in D:\a\1\s\MvvmCross.Android.Support\V7.AppCompat\MvxAppCompatActivity.cs:88 
  at ITG.Brix.Mobile.EOrder.Views.Activities.LoginActivity.OnCreate (Android.OS.Bundle bundle) [0x00002] in C:\Projects\Git\native-eorder\ITG.Brix.Mobile.EOrder\Views\Activities\LoginActivity.cs:25 
© www.soinside.com 2019 - 2024. All rights reserved.