如果我从ASP.NET Core 2 Web应用程序引用Portable.BouncyCastle,它将在Linux和MacOS上运行吗?我的ASP.NET Core 2应用仍然可以跨平台兼容吗?
答案 0 :(得分:0)
否,它不是跨平台的。它使用仅在.Net Core for Windows中实现的某些类型,例如html
。参见https://github.com/onovotny/bc-csharp/issues/6
作为确认,提供了Portable.BouncyCastle still uses the RSACryptoServiceProvider(CspParameters)
constructor,的最新提交以及.Net core still has it stubbed out for non-Windows.的最新版本
仅仅是因为某些东西针对.Net Standard,并不意味着它适用于非Windows操作系统。 .Net Standard API有许多.Net Core实现,只是存根引发了“未在此平台上实现”异常。
答案 1 :(得分:-1)
是的,Portable.BouncyCastle面向.NET Standard,它表示.NET实现之间的通用功能集,包括不同平台上的.NET Core。
.NET Standard是代表所有.NET平台必须实现的一组API的规范。这将统一.NET平台并防止将来出现碎片。将.NET Standard视为.NET的POSIX。
有关更多详细信息,请参见Microsoft's .NET Standard Guide。