Xamarin.UITesting NU1201错误:Android 8.1与.NETFramework 4.6.1不兼容

在过去的几天里我一直有一个小问题,我将在Visual Studio 2017上创建一个新的Xamarin Forms项目并添加一个Xamarin.UITest跨平台测试项目进行unit testing我在参考时收到一系列NU1201错误UITest项目中的.Android应用程序。

这是我得到的确切错误:

Error NU1201 Project App1.Android is not compatible with net461 (.NETFramework,Version=v4.6.1) / win-x64. Project App1.Android supports: monoandroid81 (MonoAndroid,Version=v8.1) 

我玩过Android版本的数字,看看UITesting软件包是否支持最新的android,但不管是什么版本的android i目标,问题依然存在。

这是该项目的屏幕截图。 在此处输入图像描述 所有代码都与默认项目保持不变,并在模拟器中运行良好,但只有在Android应用程序被引用到UITest项目时才会产生这些错误。

经过多个小时的测试和试验后解决了这个问题。 而不是将Android项目添加到引用,在AppInitializer中我添加了另一个方法到StartApp()调用,如下所示:

 public class AppInitializer { public static IApp StartApp(Platform platform) { if (platform == Platform.Android) { return ConfigureApp.Android.InstalledApp("com.companyname.App1").StartApp(); } return ConfigureApp.iOS.StartApp(); } } 

因此,一旦我第一次通过模拟器运行应用程序并安装在设备上,UITest只需在模拟器上使用已安装的APK而不是项目。