Бессерверная служба Azure SignalR и .NetFramework 4.7.1 (приложение Unity)

#signalr.client #asp.net-core-signalr #azure-signalr

#signalr.client #asp.net-core-signalr #azure-signalr

Вопрос:

Можно ли прослушивать события из бессерверной службы Azure SignalR из .Приложение NetFramework 4.7.1 (Unity)?

Я внедрил решение, которое работает с клиентом javascript и клиентом .net Core 3.1, но не может получить .Клиент NetFramework 4.7.1 (приложение Unity) для работы. Я пытаюсь использовать те же библиотеки, что и в клиенте .Net Core 3.1. То есть: «Microsoft.AspNetCore.SignalR.Клиент» версии 5.0.2 со своими зависимостями. Но я получаю различные ошибки из библиотек.

Когда мне не хватает зависимостей, таких как System.Text.Json Я получаю сообщение об ошибке

 Unloading broken assembly Assets/Plugins/Microsoft.AspNetCore.SignalR.Common.dll, this assembly can cause crashes in the runtime
 

Когда я добавляю зависимость, ошибка:

 TypeLoadException: Could not resolve type with token 01000066 (from typeref, class/assembly System.Text.Json.Serialization.JsonIgnoreCondition, System.Text.Json, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51)
Microsoft.AspNetCore.SignalR.JsonHubProtocolOptions..ctor () (at <c72a5d3426db4d1989e41390e5494e1a>:0)
 

Должно ли это так работать, или я бьюсь головой о камень. Я не знаком с библиотекой / средой выполнения C #.

Комментарии:

1. Обычно мы используем службу Azure SignalR в режиме бессерверной службы, только если мы используем ее через привязку функций Azure или REST API.

2. Решение: поскольку Unity не поддерживает nuget, я создал чистый проект .netframework 4.7.1, используя библиотеки microsoft.aspnetcore.signalr.client 3.1.11. Также пришлось поместить ‘<AutoGenerateBindingRedirects>true<AutoGenerateBindingRedirects>’ в файл проекта. После создания этого проекта я скопировал все библиотеки nuget из этого нового временного проекта в свой проект Unity. И затем все библиотеки работали в Unity без каких-либо ошибок из-за конфликтов библиотек.