【问题标题】:MonoAndroid Version 8.0 compilation errorMonoAndroid 8.0版本编译错误
【发布时间】:2018-04-10 11:14:10
【问题描述】:

我的 Xamarin 表单项目突然开始出现此错误

/Library/Frameworks/Mono.framework/Versions/5.8.1/lib/mono/xbuild/Microsoft/NuGet/Microsoft.NuGet.targets(184,5):

 error : Your project is not referencing the "MonoAndroid,Version=v8.0" framework. Add a reference to "MonoAndroid,Version=v8.0" in the "frameworks" section of your project.json, and then re-run NuGet restore.

我尝试添加不同的引用,但无法解决问题。因此,我将文件重置为最后一次提交,该提交运行良好,但即便如此,我的 android 项目仍出现此错误。

【问题讨论】:

  • 这个问题让我发疯,我用其他项目进行了测试,它们运行良好。只是这个项目给了我问题。我还分支到不同的提交,看看我是否在途中做了什么。
  • 请看this
  • @JoeLv-MSFT 感谢您的回复。我有 Visual Studio for Mac,我没有在项目级别恢复包的选项。我也没有 project.json 文件。我不知道在哪里可以找到它。
  • 您好,您安装Android SDK Platform27了吗?看看here,作者也是用的Mac。还有here
  • 感谢您的多次回复。对此,我真的非常感激。这不应该与我的问题有关,但更新 MacOS 后我现在没有遇到问题。

标签: c# android xamarin.forms compiler-errors


【解决方案1】:

我做了以下对我有用的事情:

  1. 构建 > 全部清除
  2. 关闭 Visual Studio
  3. 转到每个项目中的解决方案目录 > 并删除 binobj 文件夹
  4. 打开 Visual Studio
  5. 构建 > 全部重建

它就像食物一样,如果你跳过一个步骤它将不起作用。

【讨论】:

    【解决方案2】:

    首先,尝试清理和恢复 nuget 包 如果这不能解决清理 nuget 缓存应该解决的问题, 从工具>选项>nuget包管理器>清除所有nuget缓存,不要忘记将android 8作为目标android版本放在项目属性中。

    【讨论】:

    • 我没有在 Visual Studio for Mac 上清除 Nuget 缓存的选项。 Mac 是否有 CLI 选项?感谢您的回复。
    • 我按照本指南清除缓存 syncfusion.com/kb/6987/how-to-clear-nuget-cache 我仍然遇到同样的错误。我不确定如何定位 android 8 版本。但我在目标框架上尝试了不同的选项,例如 8.1 , 8.0,..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多