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

Fak*_*man 5 c# android ui-testing visual-studio xamarin.forms

最近几天出现了一个小问题,我将在Visual Studio 2017上创建一个新的Xamarin Forms项目,并添加一个Xamarin.UITest跨平台测试项目进行单元测试,当我引用时会收到一系列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)    
Run Code Online (Sandbox Code Playgroud)

我一直在玩Android版本号,以查看UITesting包是否不支持最新的android,但是无论我瞄准的是哪个版本的android,问题都保持不变。

这是该项目的屏幕截图。 在此处输入图片说明 所有代码均与默认项目保持不变,并且可以在模拟器中正常运行,但仅在将Android应用程序引用到UITest项目时才产生这些错误。

Fak*_*man 6

经过数小时的测试和试用后解决了该问题。没有在引用中添加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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 尝试在AppCenter中运行测试时,这不会引起问题吗? (3认同)