首页 > 解决方案 > Microsoft.AspNetCore.SignalR.Protocol.JsonHubProtocol' 抛出异常

问题描述

升级到最新的 Visual Studio Mac 后运行 Xamarin Forms iOS 应用程序时出现以下异常:

{System.TypeInitializationException:“Microsoft.AspNetCore.SignalR.Protocol.JsonHubProtocol”的类型初始化程序引发了异常。---> System.MissingMethodException:找不到方法:int System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeU…}

代码:

        string token = s.AccessToken().Result;

        _connection = new HubConnectionBuilder()
          .WithUrl(serverUrl, options =>
          {
              options.AccessTokenProvider = () => Task.FromResult(token);
              options.Transports = Microsoft.AspNetCore.Http.Connections.HttpTransportType.LongPolling;

          })
          //.WithAutomaticReconnect()
          //.ConfigureLogging(logging =>
          //{
          //    logging.AddDebug();
          //    logging.SetMinimumLevel(LogLevel.Debug);
          //
          //})
          .Build();

我尝试添加各种 NuGet 包,包括 System.Text.Json (5.0.1),但似乎没有用。还有其他人面临这个问题以及如何解决的任何建议吗?Android 应用程序运行正常。

xamarin 形式 - 5.0.0.2012

Xamarin.iOS 版本:14.14.2.5

Xamarin.Android 版本:11.2.0.0

Visual Studio Mac 8.9(内部版本 1651)

标签: xamarin.formsxamarin.iossignalr

解决方案


我遇到了同样的问题,唯一对我有用的是安装 System.Memory 4.5.0(在 IOS 上)该特定版本任何其他版本由于某种原因无法正常工作。


推荐阅读