首页 > 解决方案 > 尽管具有正确的 using 指令,但对象中的某些方法不可用

问题描述

我编写了一些代码,为 api-authentication 生成 JSON Web Token。当我直接在 main 方法中将它作为 Visual Studio 中的控制台应用程序运行时,它可以完美运行。但是,我需要代码在另一个软件(具体为 Blue Prism)的上下文中运行,在这里我遇到了一些奇怪的错误。我尝试使用执行所需任务的方法创建一个类,但这里 RSACryptoServiceProvider 实例中的某些方法不可用。

在 main 方法中运行的代码(有效)

类的方法定义中的代码(不起作用)

错误信息

现在,错误消息声称不存在“importPkcs8PrivateKey”方法的定义。RSACryptoServiceProvider 在 System.Security.Cryptography 命名空间中定义,我有一个 using 指令。如前所述,代码在 main 方法中运行时确实有效。对象中提供了一些方法,但有些方法不可用,例如“ImportRSAPrivateKey”。我可以在不可用的方法之间找到的共同因素是它们要么具有“覆盖”关键字,要么具有“虚拟”关键字,但我不确定这是否是原因。您可能还注意到第二个图像中的结构“ReadOnlySpan”不可用。这是 System 命名空间中的公共结构,所以我很难理解为什么它也不可用。

标签: c#.netoopmethods

解决方案


您尝试使用的方法仅在 .NET Core 3.0 或 .NET 5.0 及更高版本中可用;见 MSDN

此处发布了 .NET Framework 的替代方案。


推荐阅读