Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin.ui测试NU1201错误:Android 8.1与.NETFramework 4.6.1不兼容_C#_Android_Visual Studio_Xamarin.forms_Ui Testing - Fatal编程技术网

C# Xamarin.ui测试NU1201错误:Android 8.1与.NETFramework 4.6.1不兼容

C# Xamarin.ui测试NU1201错误:Android 8.1与.NETFramework 4.6.1不兼容,c#,android,visual-studio,xamarin.forms,ui-testing,C#,Android,Visual Studio,Xamarin.forms,Ui Testing,在过去的几天里,我遇到了一个小问题,我将在Visual Studio 2017上创建一个新的Xamarin Forms项目,并为单元测试添加一个Xamarin.UITest跨平台测试项目。当我在UITest项目中引用.Android应用程序时,我收到了一系列NU1201错误 下面是我得到的确切错误: Error NU1201 Project App1.Android is not compatible with net461 (.NETFramework,Version=v4.6.1) /

在过去的几天里,我遇到了一个小问题,我将在Visual Studio 2017上创建一个新的Xamarin Forms项目,并为单元测试添加一个Xamarin.UITest跨平台测试项目。当我在UITest项目中引用.Android应用程序时,我收到了一系列NU1201错误

下面是我得到的确切错误:

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,问题都是一样的

下面是该项目的截图。
所有代码都与默认项目保持不变,并在模拟器中正常运行,但仅当Android应用程序引用UITest项目时才会产生这些错误。

在多个小时的测试和试用后解决了这些问题。在AppInitializer中,我没有将Android项目添加到引用中,而是将另一个方法添加到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();
    }
}

因此,一旦我第一次通过emulator运行应用程序并将其安装在设备上,UITest就会简单地使用emulator上安装的APK而不是项目

对于那些遇到错误NU1201的人,您可能来对了地方。这可能不适用于所问的问题,但前几天我遇到了错误NU1201,原因是我们nuget项目的nuproj配置文件的目标配置错误。应该是的

v4.6.2

而不是

net462

因为项目不是“SDK风格”


参考资料:

谢谢分享@Fakelzaman,所以最后你仍然使用.NET v4.6.1保留UITests DLL,对吗?是的,版本保持不变@Damian这在尝试在AppCenter中运行测试时不会导致问题吗?按应用程序名称调用对我不起作用,下面的代码确实起作用。不要忘记apk需要在bin文件夹中,这需要部署,而不仅仅是构建。IApp app=ConfigureApp.Android.ApkFile(“../../../AndroidProject/bin/Debug/Android.apk”).StartApp();返回应用程序;