最近几天一直有一个小问题,我将在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,问题均保持不变。
这是项目的屏幕截图。 所有代码均与默认项目保持不变,并且可以在模拟器中正常运行,但仅在将Android应用程序引用到UITest项目时才会产生这些错误。
答案 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 风格的”。