【问题标题】:Unable to build a cross platform apps on Xamarin.forms?无法在 Xamarin.forms 上构建跨平台应用程序?
【发布时间】:2018-03-07 20:41:11
【问题描述】:

我正在关注 tutorial 以使用 xamarin.forms 创建跨平台应用程序 除了我使用的是 Windows 7,因此我跳过了 UWP 部分的这些步骤。

现在,当我尝试构建解决方案时,我收到以下错误消息

1> 无法解决“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”和“mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e”之间的冲突。任意选择“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”。

根据网上的发现,似乎与版本控制有关的事情搞砸了,但这不应该发生,因为它是从头开始的新解决方案。

我还检查了如下所述的属性:

- "Compile using android version (Android 7.1(Nougat))"
- Android Manifest "Target Android version" Use compile using SDK version

确切地说,构建是成功的,但输出是错误日志。请参考下图

我可以知道我还能尝试什么吗?

【问题讨论】:

  • 点击Manage Nuget packages for Solution,点击Consolidate选项卡,对于Consolidate选项卡中的每个包,将包更新到每个项目的相同版本。
  • @YorkShen-MSFT:“合并”选项卡中没有任何要更新的内容
  • 我不认为这是一个错误。看来项目从你的截图成功构建
  • 你启用Deploy checkboxes了吗?

标签: build xamarin.forms xamarin.android visual-studio-2017 android-7.1-nougat


【解决方案1】:

您可以通过在包管理器控制台中发出 update-package -reinstall 命令来解决此问题。

【讨论】:

  • 我已经尝试过你的方法并成功地重新安装了很多包,但是当我尝试构建解决方案时它仍然给我同样的错误
  • 请参考我更新的问题,因为我已经包含了输出的图像
【解决方案2】:

确保您的 Xamarin (Visual Studio) 安装版本与您使用的 Xamarin NuGet 包相同。

我建议:

  1. 将 Xamarin 和你的 Xamarin NuGet 包更新到最新版本。
  2. 清理(在构建菜单中)
  3. 重建(在构建菜单中)
  4. 再试一次,如果还是不行,继续步骤:
  5. 更新所有与 Android 相关的安装(使用 SDK 管理器)
  6. 在 Visual Studio 中检查 JDK、SDK 和 NDK 的路径 => 选项 => Xamarin
  7. 再试一次

也可能是您使用的第三方 NuGet 包与您安装的版本不兼容。尝试删除 NuGet 包以隔离问题。

不幸的是,这里可能有很多问题,但主要与版本和安装有关。希望这会有所帮助。

【讨论】:

    【解决方案3】:

    您似乎正在尝试部署到不符合目标要求的设备。

    验证您正在使用的设备或模拟器的版本至少是您的 Android 构建选项中显示的版本。

    要解决任何问题,我建议打开 Android SDK 管理器并下载与您计划测试的设备相匹配的构建和 SDK 工具,然后针对新的 SDK 重新构建您的项目。

    【讨论】:

    • 该消息在构建项目后立即显示。它甚至还没有部署在模拟器或设备上
    • 没错,我建议解决这个问题。 (未部署,因为设备不符合目标框架)
    猜你喜欢
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 2012-05-12
    • 2021-02-21
    • 2019-06-16
    相关资源
    最近更新 更多