【问题标题】:Error: Failed to resolve "AuthenticationServices.ASWebAuthenticationSession" reference from "Xamarin.iOS错误:无法解析来自“Xamarin.iOS”的“AuthenticationServices.ASWebAuthenticationSession”引用
【发布时间】:2019-03-24 13:30:37
【问题描述】:

我们正在使用 Azure DevOps 构建我们的 Xamarin Forms 移动应用。这已经工作了好几个星期了,没有任何问题。由于某种原因,我现在在构建 iOS 项目时遇到以下错误:

MT2002:无法从“Xamarin.iOS,Version=0.0.0.0,Culture=neutral,PublicKeyToken=84e04ff9cfb79065”解析“AuthenticationServices.ASWebAuthenticationSession”引用

Android 和共享项目运行良好。这只是iOS项目的一个问题。

我没有以任何方式更改或更新 Xamarin.iOS,因此无法理解为什么我现在收到此错误。

如果有什么不同,我正在使用 Visual Studio 2017 15.8.1

我怀疑在共享项目中添加对 Microsoft.Identity.Client 预览的引用后首先出现错误。 Azure DevOps 上的此参考和 Xamarin.iOS 是否存在问题?

【问题讨论】:

  • 您找到解决此问题的方法了吗?除了降级吗?
  • 在我的特殊情况下,我已经降级了。微软仍未解决此问题。
  • 我设法解决了这个问题。现在我可以使用最新的 Identity Client lib 运行。请在此处找到解决方案。github.com/AzureAD/microsoft-authentication-library-for-dotnet/…
  • @RakeshRNair 感谢您的更新 :)

标签: xamarin.forms xamarin.ios azure-devops


【解决方案1】:

我遇到了同样的问题,不得不降级到版本 2.1.0-preview。 2.2.0、2.2.1 和 2.3.0 给出相同的错误。

【讨论】:

  • 这证实了我的怀疑。我也得降级。谢谢。
  • 版本 2.3.1-preview 几天前发布了,但仍然无法使用。根据您的项目/公司/客户,您可以将自己的计算机设置为构建代理,作为解决方法。构建失败的一个原因可能是安装的 Visual Studio For Mac 版本有点过时。我们需要等到它们得到更新,然后我们才能再次使用 Azure 代理。
  • MS 已提出此问题,您可以在此处保持更新developercommunity.visualstudio.com/content/problem/363357/…
  • @DomBurf :我找到了您关于此问题的问题的解决方案?您是否知道如何运行答案中提供的脚本(在构建管道中运行脚本)?我是 Azure Devops 的新手。
  • 我看到了关于脚本的建议(我在这里订阅了这个问题developercommunity.visualstudio.com/content/problem/363357/…)。您需要在构建管道中添加一个任务以运行 bash 脚本,并在构建步骤之前执行此操作。
【解决方案2】:

我在 Azure DevOps 上遇到了同样的问题。我已将单声道版本从 5.10 更新到 5.18.1,构建成功。

【讨论】:

    【解决方案3】:

    我遇到了完全相同的问题。我将我的“Microsoft.Identity.Client”包从 2.3.1 降级到 2.1.0。我的 Xamarin.forms 项目版本必须是 3.0.0 才能正常工作。

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      microsoft.identitymodel.clients.activedirectory 4.3.0 也有同样的错误。

      该软件包还能够以 MSAL 格式保存令牌,因此它可能也在使用 AuthenticationServices.ASWebAuthenticationSession

      AppCenter 根本不会构建,因为它已经过时并且 Azure DevOps 会因此而失败。

      【讨论】:

      • 解决方案似乎是降级您的 Xamarin.iOS 版本。我正在使用 2.1 没有任何问题。 MS 已经提出了这个问题,所以希望它会很快得到解决。
      【解决方案5】:

      您需要在 Mac 上安装至少 15.8.7 的 Visual Studio 2017,它支持 XCode10 和 XCode10,才能获得运行 ASWebAuthenticationSession 所需的类(例如 AuthenticationServices)。如果仍有问题,请在 MSAL 存储库上打开 issue

      【讨论】:

      • 问题是 Azure DevOps for iOS 上的构建主机似乎与 Xamarin.iOS 程序集不兼容。该问题现已向 Microsoft 提出,希望他们能尽快解决。
      猜你喜欢
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2017-12-10
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多