在Xamarin.Forms中安装System.IdentityModel.Token.Jwt时出错

在Xamarin.Forms中安装System.IdentityModel.Token.Jwt时出错,xamarin.forms,nuget,Xamarin.forms,Nuget,我正在尝试为我的Xamarin.Forms应用程序使用System.IdentityModel.Token.Jwt NuGet包。当我尝试将程序包添加到PCL时,它会安装在我的Android和iOS项目中,但在将其添加到共享代码项目时,我遇到以下错误: 无法安装程序包“System.IdentityModel.Tokens.Jwt 5.1.3”。您正试图将此软件包安装到以“.NETPortable,Version=v4.6,Profile=Profile44”为目标的项目中,但该软件包不包含任何

我正在尝试为我的Xamarin.Forms应用程序使用System.IdentityModel.Token.Jwt NuGet包。当我尝试将程序包添加到PCL时,它会安装在我的Android和iOS项目中,但在将其添加到共享代码项目时,我遇到以下错误:

无法安装程序包“System.IdentityModel.Tokens.Jwt 5.1.3”。您正试图将此软件包安装到以“.NETPortable,Version=v4.6,Profile=Profile44”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包作者


有人知道怎么避开这件事吗?我认为这与我的项目目标有关,但我尝试了一些组合,所有组合都产生了相同的错误,只是列出了不同的配置文件

不幸的是,System.IdentityModel.Tokens.Jwt 5.1.3 NuGet包仅包含支持以下功能的程序集:

  • .NET Framework 4.5.1
  • .NET标准1.4
不支持可移植类库配置文件。他们支持的最高版本是.NET标准1.2


因此,除非您能找到另一个支持可移植类库的NuGet包,否则您只能尝试为所需的可移植类库概要文件编译Jwt源代码,或者将可移植类库项目转换为.NET标准项目,目标至少为1.4。您应该能够在项目选项中将可移植类库项目转换为.NET标准项目。

将其更改为.NET标准项目对我的iOS和Android应用程序有什么影响?您应该仍然能够从iOS和Android应用程序使用.NET标准项目。Xamarin最多支持.NET标准1.6。如果有疑问,请备份/使用版本控制并尝试一下。