.NETStandard NuGet软件包

时间:2018-11-22 14:22:08

标签: c#

我正在尝试下载一个软件包,该软件包将允许我加密和解密密码。但是,当我在.NETStandard中工作时,找不到与我的项目兼容的软件包。 enter image description here

有没有办法使不完全兼容的软件包仍然有效? 当我尝试将项目更改为.NETFramework时,没有任何.NETFrameworks选项... enter image description here

尽管在同一解决方案中有另一个针对.NETFramework v4.6.1的项目

enter image description here

解决方案:

是否有.NETStandard密码加密软件包?

是否可以搜索.NETStandard兼容的软件包?

即使不是可选项,但可以下载,我是否可以使我的项目成为.NETFramework的目标?

2 个答案:

答案 0 :(得分:0)

警告本身只是警告,但是库可能仍能很好地运行,尤其是当您实际将.NET Framework 4.6.1与项目一起使用时。

基本上,当您创建.NET Standard库时,它针对的是.NET Standard的特定版本,并且您可以将.NET Standard想象为支持该.NET Standard版本的平台必须支持的一组接口。在这种情况下,如果您通过该应用程序定位.NET Framework 4.6.1,则.NET Standard库仍将在.NET Framework 4.6.1上运行,因此应该没有任何问题。

如果您针对另一个.NET实现(例如.NET Core或Mono)构建了另一个客户端,而该客户端不支持该库在内部使用的某些API,则可能会出现问题。在这种情况下,一旦访问了该API,应用程序就会崩溃,因为该平台不提供任何实现。

如果您不需要跨平台支持,则可以使用经典的.NET Framework库,而不是.NET Standard,并且警告会消失。

答案 1 :(得分:0)

我个人正在使用RSACryptoServiceProvider 来自System.Security.Cryptography。在.NET标准中可用。也不需要任何nuget包。

using System.Security.Cryptography;

编辑:

我还要补充一点,加密/解密密码绝不是一个好主意。密码应作为一种强力的哈希算法存储为哈希宽度,并且永远不应加密以供以后使用。