I'm trying to integrate the Windows Box SDK (box.com) into a Xamarin project. But I constantly get errors installing the required nuget packages. I managed to install the normal Box.V2 SDK but I'm stuck at the Box.V2.JWT SDK. I'm getting this error:
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.
So what I did to install the normal Box SDK was change the Xamarin profile of my portable Xamarin project to profile 44, but I don't even know if this is the way to go, and I can't manage to do the same for the JWT SDK. Any help is really appreciated
The Box SDK is not supported on mobile platforms. If you check their repo on Github you'll find these supported platforms:
It does not include Xamarin.iOS or Xamarin.Android
Also see this issue: https://github.com/box/box-windows-sdk-v2/issues/114
The issue is actually with the jose-jwt library (which would fail as well). Unfortunately, there are no portable compatible libraries that support constructing the JWT assertion with RSA private key. That’s actually why we created a separate Nuget package for JWT support instead of just adding it to the portable Box.V2 library.