求助:Xamarin.Android无法在Visual Studio中指定正确Android版本
我之前在VS2017里折腾Xamarin项目时也碰到过一模一样的情况,给你几个亲测有效的排查和解决步骤:
检查VS的Android SDK路径是否正确
有时候VS默认的SDK路径和你手动打开SDK管理器用的不是同一个,导致它识别不到你装的8/8.1版本。操作步骤:
打开VS2017的Tools->Options->Xamarin->Android Settings,查看Android SDK Location是不是你安装Android 8/8.1的那个文件夹。如果路径不对,改成正确的之后重启VS,再去看项目属性的下拉列表。清理项目缓存并重建
项目的配置缓存有时候会抽风,导致下拉列表不更新。试试这几步:- 关闭VS,找到项目目录下的
bin和obj文件夹,直接删掉 - 重新打开VS,右键点击项目选择
Clean,完成后再选Rebuild - 再次进入项目属性查看编译版本下拉列表
- 关闭VS,找到项目目录下的
确认Android SDK组件安装完整
别只装了SDK平台,对应的构建工具和系统镜像也得装上。打开SDK Manager,找到Android 8.0(API 26)和8.1(API 27),确保以下组件都勾选安装:- SDK Platform
- Android SDK Build-Tools(选对应API版本的最新号,比如26.0.3、27.0.3)
- System Image(至少选一个,比如x86架构的)
安装完成后重启VS,应该就能识别到版本了。
手动修改项目的.csproj文件
如果上面的方法都没用,那就直接改项目配置文件。找到你的Xamarin.Android项目对应的.csproj文件,用记事本或者VS打开,找到这两个节点:<AndroidTargetPlatformVersion>...</AndroidTargetPlatformVersion> <AndroidCompileSdkVersion>...</AndroidCompileSdkVersion>把里面的内容改成你安装的版本号,比如Android 8.0对应
26,Android 8.1对应27,保存后重新加载项目,再去看属性里的下拉列表就正常了。
等你能正确指定编译版本后,再安装Xamarin.GooglePlayServices.Maps NuGet包,应该就不会再出现运行环境版本不够的提示了。
内容的提问来源于stack exchange,提问作者Øyvind Bråthen

