【问题标题】:Xamarin: Can not resolve reference: `System.Threading.Tasks.Extensions`, referenced by `MySqlConnector`.Xamarin:无法解析引用:`System.Threading.Tasks.Extensions`,由`MySqlConnector`引用。
【发布时间】:2018-10-10 19:55:43
【问题描述】:

我无法在 Visual Studio 2017 中构建我的 Xamarin Android 项目。

我不断收到此错误:

Can not resolve reference: `System.Threading.Tasks.Extensions`, referenced by `MySqlConnector`. Please add a NuGet package or assembly reference for `System.Threading.Tasks.Extensions`, or remove the reference to `MySqlConnector`.

System.Threading.Tasks.Extensions 与 NuGet 一起安装。我需要 MySqlConnector。

我已经清理了解决方案,清理了所有 NuGet 文件,重新启动了 Visual Studio,重新启动了我的 PC,重新安装了该 NuGet 包,重新安装了所有 NuGet 包,从调试切换到发布并返回,更改了 C# 版本,确保所有文件权限在所有 NuGet 文件上都正确,将 System.Threading.Tasks.Extensions 引用为 dll 等。

但错误只是停留在那里。有什么想法吗?

【问题讨论】:

  • 这是一个类似的问题,你可以参考github.com/xamarin/xamarin-android/issues/1879
  • 有趣的是它只是在 VS 2019 中编译而在 VS 2017 中拒绝这样做。
  • 底层问题被跟踪here。它仍然无法在 VS 2017 中运行,但已在 VS 2019 中修复。
  • 截至 2019 年 12 月 13 日在 VS2019 中不工作

标签: c# visual-studio xamarin.android


【解决方案1】:

我相信您使用的是 4.5.1 或 4.5.2 版本的 System.Threading.Tasks.Extensions,您可以尝试在 Xamarin 中卸载 4.5.1 或 4.5.2 并安装 4.5.0 版本.安卓项目。

截至目前(2019 年 1 月 14 日),在 Xamarin 在较新版本中解决此问题的根本原因之前,这是一种解决方法。

【讨论】:

  • 是否有我们可以在 Xamarin 错误跟踪器中跟踪的错误,我们可以跟踪以了解此问题何时得到修复?
【解决方案2】:

Dec2019 并安装 4.5.0 导致“java.exe 存在,代码为 2”无法构建。

将尝试手动编辑 android 项目文件,如下所述: https://forums.xamarin.com/discussion/134422/could-not-load-assembly-system-threading-tasks-extensions

<ItemGroup>
    <PackageReference Include="System.Reactive" Version="4.1.1" />
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.2"/>
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System.Threading.Tasks.Extensions">
      <HintPath>$(UserProfile)\.nuget\packages\system.threading.tasks.extensions\4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
    </Reference>
  </ItemGroup>

【讨论】:

    【解决方案3】:
    1. 将 System.Threading.Tasks.Extensions v4.5.1 nuget 包添加到您的 Xamarin.Android 项目。
    2. 关闭 Visual Studio。
    3. 使用文本编辑器打开 Xamarin.Android *.csproj 文件。
    4. 添加另一个&lt;ItemGroup&gt; 告诉您的项目使用.netstandard2.0 配置文件 而不是 MonoAndroid10 个人资料

    <ItemGroup>
        <Reference Include="System.Threading.Tasks.Extensions">
            <HintPath>$(UserProfile)\.nuget\packages\system.threading.tasks.extensions\4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
        </Reference>
    </ItemGroup>

    保存文件并在 Visual Studio 中重新加载您的项目。完成后,我能够成功编译。

    【讨论】:

      猜你喜欢
      • 2019-11-06
      • 2020-03-26
      • 2021-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多