Xamarin UI测试错误:类型'MonoDevelop.MonoDroid.DeploymentException'未标记为可序列化

时间:2018-05-15 15:32:39

标签: xamarin.android xamarin.uitest visual-studio-app-center

我正在尝试在本地针对我的Xamarin.Android项目运行UI测试时收到以下错误和堆栈跟踪。每次运行都不会发生此错误,但它非常频繁。干净和重建通常会“修复”它,但是当试图运行所有测试时套件这是一个非常烦人的错误。

我不确定从哪里开始。无论在哪里寻找调试此错误的方向,或者如果有人知道导致错误的原因,将不胜感激。

系统/框架信息:

  • NUnit:2.6.4
  • Xamarin.UITests版本:2.2.4
  • Android Target Framwork:8.0
  • 适用于Mac版本7.5的Visual Studio Professional 2017(版本1254)
  • Mono 5.10.1.47(2017-12 / 8eb8f7d5e74)(64位)
  • Xamarin.Android:版本:8.3.0.19(Visual Studio Professional)

SetUp:System.Runtime.Serialization.SerializationException:在程序集'MonoDevelop.MonoDroid中输入'MonoDevelop.MonoDroid.DeploymentException',Version = 4.0.0.24,Culture = neutral,PublicKeyToken = 3ead7498f347467b'未标记为可序列化。

Server stack trace: 
  at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize (System.Object obj, System.Runtime.Serialization.ISurrogateSelector surrogateSelector, System.Runtime.Serialization.StreamingContext context, System.Runtime.Serialization.Formatters.Binary.SerObjectInfoInit serObjectInfoInit, System.Runtime.Serialization.IFormatterConverter converter, System.Runtime.Serialization.Formatters.Binary.ObjectWriter objectWriter, System.Runtime.Serialization.SerializationBinder binder) [0x00175] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryobjectinfo.cs:171 
  at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize (System.Object obj, System.Runtime.Serialization.ISurrogateSelector surrogateSelector, System.Runtime.Serialization.StreamingContext context, System.Runtime.Serialization.Formatters.Binary.SerObjectInfoInit serObjectInfoInit, System.Runtime.Serialization.IFormatterConverter converter, System.Runtime.Serialization.Formatters.Binary.ObjectWriter objectWriter, System.Runtime.Serialization.SerializationBinder binder) [0x00006] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryobjectinfo.cs:110 
  at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write (System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo objectInfo, System.Runtime.Serialization.Formatters.Binary.NameInfo memberNameInfo, System.Runtime.Serialization.Formatters.Binary.NameInfo typeNameInfo) [0x00101] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryobjectwriter.cs:422 
  at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize (System.Object graph, System.Runtime.Remoting.Messaging.Header[] inHeaders, System.Runtime.Serialization.Formatters.Binary.__BinaryWriter serWriter, System.Boolean fCheck) [0x001d3] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryobjectwriter.cs:190 
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph, System.Runtime.Remoting.Messaging.Header[] headers, System.Boolean fCheck) [0x0006e] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryformatter.cs:233 
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph, System.Runtime.Remoting.Messaging.Header[] headers) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryformatter.cs:211 
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/serialization/formatters/binary/binaryformatter.cs:203 
  at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, System.Runtime.Remoting.Messaging.IMessage& responseMsg, System.Runtime.Remoting.Channels.ITransportHeaders& responseHeaders, System.IO.Stream& responseStream) [0x00125] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting.Channels/BinaryServerFormatterSink.cs:182 

Exception rethrown at [0]: 
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_remoting_wrapper(intptr,intptr)
  at (wrapper remoting-invoke) Xamarin.UITest.Utils.Integration.IIdeHost.PrepareTestApp(string)
  at Xamarin.UITest.Utils.Integration.IdeConnection.PrepareTestApp () [0x00037] in <1bd397951f434cd4913ddc08b7bc45af>:0 
  at Xamarin.UITest.Utils.Integration.IdeIntegrationClient.TryConnect (Xamarin.UITest.Platform platform) [0x00064] in <1bd397951f434cd4913ddc08b7bc45af>:0 
  at Xamarin.UITest.Android.AndroidApp..ctor (Xamarin.UITest.Configuration.IAndroidAppConfiguration appConfiguration, Xamarin.UITest.Shared.Execution.IExecutor executor) [0x000ad] in <1bd397951f434cd4913ddc08b7bc45af>:0 
  at Xamarin.UITest.Android.AndroidApp..ctor (Xamarin.UITest.Configuration.IAndroidAppConfiguration appConfiguration) [0x00000] in <1bd397951f434cd4913ddc08b7bc45af>:0 
  at Xamarin.UITest.Configuration.AndroidAppConfigurator.StartApp (Xamarin.UITest.Configuration.AppDataMode appDataMode) [0x00017] in <1bd397951f434cd4913ddc08b7bc45af>:0 
  at Dalevia.UITests.AppInitializer.StartApp (Xamarin.UITest.Platform platform, Xamarin.UITest.Configuration.AppDataMode dataMode) [0x00010] in /Users/dfrisk/Source/Compass/Compass-Patient/src/src/Mobile/RedArrow.Compass.Patients.Mobile.UI.Tests/AppInitializer.cs:28 
  at Dalevia.UITests.AppInitializer.StartApp (Xamarin.UITest.Platform platform) [0x00001] in /Users/dfrisk/Source/Compass/Compass-Patient/src/src/Mobile/RedArrow.Compass.Patients.Mobile.UI.Tests/AppInitializer.cs:14 
  at Dalevia.UITests.BaseTests.BeforeEachTest () [0x00001] in /Users/dfrisk/Source/Compass/Compass-Patient/src/src/Mobile/RedArrow.Compass.Patients.Mobile.UI.Tests/Tests/BaseTests.cs:42 
  at Dalevia.UITests.Tests.CaseStatusTests.BeforeEachTest () [0x00001] in /Users/dfrisk/Source/Compass/Compass-Patient/src/src/Mobile/RedArrow.Compass.Patients.Mobile.UI.Tests/Tests/CaseStatusTests.cs:26 
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 

2 个答案:

答案 0 :(得分:1)

我也遇到了这个问题,对我有用的是在设备上卸载该应用程序,然后重新安装一个新副本。值得注意的是,我正在连接到一段时间未使用的设备,因此它比我当前的应用程序早几个版本。

答案 1 :(得分:0)

将x86添加为受支持的ABI为我解决了此问题