Недавно я попытался импортировать библиотеки SignalR в проект Unity (поддержка. NET Standard 2.0). Пакет NuGet -> Microsoft.AspNetCore.SignalR.Client в настоящее время имеет версию 3.1.2. Вот перечисленные зависимости:
.NETStandard, версия = v2.0
Microsoft.AspNetCore.Http.Connections.Client
(> = 3.1.2 ) Microsoft.AspNetCore.SignalR.Client.Core (> = 3.1.2)
Однако, когда я перемещаю эти dll в проект Unity, меня приветствует ошибка:
Ошибка CS1705 Сборка «Microsoft.AspNetCore.SignalR.Client.Core» с идентификатором «Microsoft.AspNetCore.SignalR.Client.Core, версия = 3.1.2.0, Culture = нейтральный, PublicKeyToken = adb9793829ddae60» использует «нестандарт», Версия = 2.1.0.0, Культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51 ', которая имеет более высокую версию, чем указанная сборка' netstandard 'с идентификацией' netstandard, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51 '
Это имеет смысл для меня, так как я не ожидаю, что Unity будет поддерживать версию 2.1 (таблица в . NET Standard docs утверждает, что 2.0 является последней для Unity. Я могу понизить пакет до версии 1.1 и все работает как положено (по крайней мере, эта ошибка исчезает). Я определил, какую версию SignalR.Client выбрать, просматривая каждую версию, устанавливая / копируя до исчезновения ошибок.
Зависимости для 1.1.0 идентичны (за исключением того, что пакеты Core и Client теперь перечислены как (>=1.1.0)
вместо (>= 3.1.2)
.
Вопрос: Есть ли "лучший" способ, чем угадывать и проверять, чтобы выяснить, какая версия. NET Стандарт требуется, может быть где-то spe c, показывающее, какую версию. NET Standard необходимо поддерживать для использования пакета?