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

时间:2018-07-12 03:19:59

标签: c# android visual-studio xamarin.forms ui-testing

最近几天一直有一个小问题,我将在Visual Studio 2017上创建一个新的Xamarin Forms项目,并添加一个Xamarin.UITest跨平台测试项目进行单元测试,我收到了一系列NU1201错误当我在UITest项目中引用.Android App时。

这是我得到的确切错误:

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,问题均保持不变。

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

2 个答案:

答案 0 :(得分:5)

在经过数小时的测试和试用后解决了该问题。没有在引用中添加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而不是项目。

答案 1 :(得分:0)

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

<块引用>

<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>

代替

<块引用>

<TargetFramework>net462</TargetFramework>

因为该项目不是“SDK 风格的”。

参考文献:https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-target-framework-and-target-platform?view=vs-2019