#xamarin #nuget-package #xamarin-studio
#xamarin #nuget-пакет #xamarin-studio
Вопрос:
Я пытаюсь интегрировать Windows Box SDK (box.com ) в проект Xamarin. Но я постоянно получаю ошибки при установке необходимых пакетов nuget. Мне удалось установить обычный Box.V2 SDK, но я застрял на Box.V2.JWT SDK. Я получаю эту ошибку:
Attempting to gather dependency information for package 'Box.V2.JWTAuth.1.1.0' with respect to project 'Stuvia', targeting '.NETPortable,Version=v4.6,Profile=Profile44'
Attempting to resolve dependencies for package 'Box.V2.JWTAuth.1.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Box.V2.JWTAuth.1.1.0'
Resolved actions to install package 'Box.V2.JWTAuth.1.1.0'
Removed package 'Microsoft.Bcl.1.1.8' from 'packages.config'
Added file 'packages.config' to project 'blabla'.
Successfully uninstalled 'Microsoft.Bcl.1.1.8' from Stuvia
Removed package 'Microsoft.Net.Http.2.2.20' from 'packages.config'
Added file 'packages.config' to project 'Stuvia'.
Removed reference 'System.Net.Http.Extensions' from project 'Stuvia'.
Removed reference 'System.Net.Http.Primitives' from project 'Stuvia'.
Successfully uninstalled 'Microsoft.Net.Http.2.2.20' from Stuvia
For adding package 'Microsoft.Bcl.1.1.10' to project 'Stuvia' that targets 'portable46-net451 win81'.
For adding package 'Microsoft.Bcl.1.1.10' to project 'Stuvia' that targets 'portable46-net451 win81'.
Adding package 'Microsoft.Bcl.1.1.10' to folder '/Users/HeldeR/Xamarin/Stuvia/packages'
Added package 'Microsoft.Bcl.1.1.10' to folder '/Users/HeldeR/Xamarin/Stuvia/packages'
Added package 'Microsoft.Bcl.1.1.10' to 'packages.config'
Added file 'packages.config' to project 'Stuvia'.
Successfully installed 'Microsoft.Bcl 1.1.10' to blabla
For adding package 'Microsoft.Net.Http.2.2.29' to project 'blabla' that targets 'portable46-net451 win81'.
For adding package 'Microsoft.Net.Http.2.2.29' to project 'blabla' that targets 'portable46-net451 win81'.
Adding package 'Microsoft.Net.Http.2.2.29' to folder '/Users/Me/Xamarin/blabla/packages'
Added package 'Microsoft.Net.Http.2.2.29' to folder '/Users/Me/Xamarin/blabla/packages'
Added reference 'System.Net.Http.Extensions' to project 'blabla'.
Added reference 'System.Net.Http.Primitives' to project 'blabla'.
Added package 'Microsoft.Net.Http.2.2.29' to 'packages.config'
Added file 'packages.config' to project 'blabla'.
Successfully installed 'Microsoft.Net.Http 2.2.29' to blabla
For adding package 'System.IdentityModel.Tokens.Jwt.4.0.2.206221351' to project 'blabla' that targets 'portable46-net451 win81'.
Install failed. Rolling back...
Package 'System.IdentityModel.Tokens.Jwt.4.0.2.206221351' does not exist in project 'blabla'
Removed package 'Microsoft.Net.Http.2.2.29 : Microsoft.Bcl [1.1.10, ), Microsoft.Bcl.Build [1.0.14, )' from 'packages.config'
Added file 'packages.config' to project 'blabla'.
Removed reference 'System.Net.Http.Extensions' from project 'blabla'.
Removed reference 'System.Net.Http.Primitives' from project 'blabla'.
Removed package 'Microsoft.Bcl.1.1.10 : Microsoft.Bcl.Build [1.0.14, )' from 'packages.config'
Added file 'packages.config' to project 'blabla'.
For adding package 'Microsoft.Net.Http.2.2.20' to project 'blabla' that targets 'portable46-net451 win81'.
For adding package 'Microsoft.Net.Http.2.2.20' to project 'blabla' that targets 'portable46-net451 win81'.
Package 'Microsoft.Net.Http.2.2.20' already exists in folder '/Users/Me/Xamarin/blabla/packages'
Added reference 'System.Net.Http.Extensions' to project 'blabla'.
Added reference 'System.Net.Http.Primitives' to project 'blabla'.
Added package 'Microsoft.Net.Http.2.2.20' to 'packages.config'
Added file 'packages.config' to project 'blabla'.
For adding package 'Microsoft.Bcl.1.1.8' to project 'blabla' that targets 'portable46-net451 win81'.
For adding package 'Microsoft.Bcl.1.1.8' to project 'blabla' that targets 'portable46-net451 win81'.
Package 'Microsoft.Bcl.1.1.8' already exists in folder '/Users/Me/Xamarin/blabla/packages'
Added package 'Microsoft.Bcl.1.1.8' to 'packages.config'
Added file 'packages.config' to project 'blabla'.
Package 'System.IdentityModel.Tokens.Jwt.4.0.2.206221351' does not exist in folder '/Users/Me/Xamarin/blabla/packages'
Removing package 'Microsoft.Net.Http.2.2.29 : Microsoft.Bcl [1.1.10, ), Microsoft.Bcl.Build [1.0.14, )' from folder '/Users/Me/Xamarin/blabla/packages'
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/portable-net40 sl4 win8 wp71 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45 win8 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/portable-net45 win8'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/sl4-windowsphone71'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/Xamarin.iOS10'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/monoandroid'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/monotouch'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/net40'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/net45'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib/win8'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29/lib'.
Removed file 'Microsoft.Net.Http.2.2.29.nupkg' from folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Net.Http.2.2.29'.
Removed package 'Microsoft.Net.Http.2.2.29 : Microsoft.Bcl [1.1.10, ), Microsoft.Bcl.Build [1.0.14, )' from folder '/Users/Me/Xamarin/blabla/packages'
Removing package 'Microsoft.Bcl.1.1.10 : Microsoft.Bcl.Build [1.0.14, )' from folder '/Users/Me/Xamarin/blabla/packages'
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net40 sl4 win8 wp71 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net40 sl4 win8 wp8 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net40 sl5 win8 wp8 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net45 win8 wp8 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net40 win8 wp8 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net451 win81 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net45 win8 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-win81 wp81 wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net40 sl4 win8'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net451 win81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/portable-net40 win8'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/sl4-windowsphone71'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/Xamarin.iOS10'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/monoandroid'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/monotouch'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/net45'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/wpa81'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/net40'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/win8'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/wp8'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/sl4'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib/sl5'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10/lib'.
Removed file 'Microsoft.Bcl.1.1.10.nupkg' from folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10'.
Removed folder '/Users/Me/Xamarin/blabla/packages/Microsoft.Bcl.1.1.10'.
Removed package 'Microsoft.Bcl.1.1.10 : Microsoft.Bcl.Build [1.0.14, )' from folder '/Users/Me/Xamarin/blabla/packages'
Could not install package 'System.IdentityModel.Tokens.Jwt 4.0.2.206221351'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.6,Profile=Profile44', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
Итак, что я сделал для установки обычного Box SDK, так это изменил профиль Xamarin моего переносимого проекта Xamarin на профиль 44, но я даже не знаю, правильно ли это, и я не могу сделать то же самое для JWT SDK.
Любая помощь действительно ценится
Ответ №1:
Box SDK не поддерживается на мобильных платформах. Если вы проверите их репозиторий на Github, вы найдете эти поддерживаемые платформы:
- .NET Framework 4.0.3 и выше
- .NET для приложений магазина Windows
- Silverlight 4 и выше
- Windows Phone 7.5 и выше
Он не включает Xamarin.iOS или Xamarin.Android
Также смотрите эту проблему: https://github.com/box/box-windows-sdk-v2/issues/114
Проблема на самом деле связана с библиотекой jose-jwt (которая также потерпит неудачу). К сожалению, не существует переносимых совместимых библиотек, поддерживающих построение утверждения JWT с помощью закрытого ключа RSA. На самом деле, именно поэтому мы создали отдельный пакет Nuget для поддержки JWT, а не просто добавили его в библиотеку portable Box.V2.
Комментарии:
1. Спасибо за эту ссылку, я искал несколько часов и на самом деле не наткнулся на нее.