Prism Xamarin.Forms monoandroid81添加对" MonoAndroid的引用

时间:2018-06-06 21:49:33

标签: android prism

我一直收到这个错误。 (我使用的是Android v8.1和Prism默认模板)

Severity    Code    Description Project File    Line    Suppression State
Error       Your project is not referencing the "MonoAndroid,Version=v8.1"
framework. Add a reference to "MonoAndroid,Version=v8.1" in the "frameworks"         
section of your project.json, and then re-run NuGet restore.d#    
PrismHelloWorld.Android     

所以我进入了我的project.assets.json并更改了" monoandroid71" to" monoandroid81"

"originalTargetFrameworks": [
   "monoandroid71"

...

"monoandroid71": {
  "projectReferences": {

...

"frameworks": {
  "monoandroid71": {

我也改变了

"projectFileDependencyGroups": {
    "MonoAndroid,Version=v7.1": [

和......

"targets": {
    "MonoAndroid,Version=v7.1": {

我点击了保存并重建,它的工作非常好!问题是编辑json文件并将其全部转回71和7.1。我不确定是做什么的,但我会点击内置并再次看到错误,关于我需要引用v8.1。

之前有没有人遇到过这个问题?

5 个答案:

答案 0 :(得分:1)

enter image description here

转到Android项目选项->应用程序->使用Android版本进行编译:(目标框架),然后选择Android 8.1(Oreo)。尝试其他选项

答案 1 :(得分:0)

我在使用Xamarin的MvvmCross上遇到了同样的问题,我做了你的解决方案(将“monoandroid71”更改为“monoandroid81”和“v7.1”改为“v8.1”)但是在关闭并重新打开解决方案后它又恢复了。我做的是做同样的事情并在最后做一个“恢复NuGet包”。

答案 2 :(得分:0)

遇到了同样的问题,并可以使用以下选项进行修复,

enter image description here

更改目标版本并重建。

答案 3 :(得分:0)

我遇到了同样的问题,我只是重启了VS,然后又恢复了正常

答案 4 :(得分:0)

我通过以下方式解决了该问题:

  1. 右键单击Android项目=>属性=>应用程序=>使用Android版本=> Android 7.1编译
  2. 清理并生成项目=>生成成功,然后重新启动IDE。
  3. 右键单击Android项目=>属性=>应用程序=>使用Android版本=> Android 8.1编译
  4. 清理并构建项目=>构建成功 文件obj / project.assets.json已更新为“ MonoAndroid,Version = v8.1”