我一直在尝试添加Square.Connect nuget包,以便我可以与广场支付系统集成。
当我尝试添加包时,我收到一个错误:
“无法安装软件包'Square.Connect 2.14.0'。您正在尝试将此软件包安装到以'.NETFramework,Version = v4.5'为目标的项目中,但该软件包不包含任何程序集引用或内容文件与该框架兼容。有关更多信息,请与软件包作者联系。“
我尝试使用.net 3.5和.net 2.0的新应用程序,但我得到了相同的错误,但改变了目标版本。
有没有人能够绕过这个或者你能告诉我我可能做错了什么?
根据nuget.org https://www.nuget.org/packages/Square.Connect/,Square.Connect包适用于.NETStandard 2.0。所以你应该以此为目标。提示:扩展nuget页面的依赖关系,以查看它需要什么。
此程序包与您的项目不兼容。
您应该以.NET Standard 2.0或.NET Full Framework 4.6.1或更高版本为目标。
两者都可以使用.NET Standard 2.0程序集。
.NET Core 2.0也是如此,但我觉得这对你没用。
正如Palle Due的回答所说,package information page for the most recent version of the package将.NET Standard 2.0列为依赖项。因此,您的项目必须以与.NET Standard 2.0兼容的方式为目标。 This table列出了几个兼容的运行时,例如.NET Framework 2.6.1或更高版本,.NET Core 2.0或更高版本,正如Schwarzie2478的答案所列(但他没有提供源信息,我认为这些信息很有用)。该表还列出了其他一些运行时的最低版本,如Xamarin的Android / iOS或Unity游戏引擎。
但是,如果您查看该软件包的某些旧版本,2.10.1.297和更早版本依赖于.NET Framework 4.5。因此,如果由于某种原因您无法定位较新版本的.NET Framework,则可以使用这些旧版本的软件包。虽然我不知道为什么有人会被困在这个旧版本的框架上。 .NET Framework生命周期很复杂,很难找到具有实际日期的表,但我的猜测是没有受支持的服务器操作系统仅限于.NET Framework 4.5,因此任何安装安全更新的服务器都可能在.NET Framework 4.6上。 x或更可能是4.7.x,所以我真的没有理由留在net45上。