【发布时间】:2020-03-06 14:41:55
【问题描述】:
大家好!
我正在开发一个 .Net Core 类库项目,但我必须使用 .Net Framework DLL 中的一个名为 System.Security 的类,该类在 Core 中不可用。
(该类是 System.Security.Cryptography.Xml 命名空间中的 SignedXml.cs。 - 是的,我知道 Core 中也存在命名空间和类,但 SignedXml 不一样,缺少一些私有字段(m_refProcessed, m_refLevelCache 等)。)
我必须使用旧类。
是否有任何解决方案可以在我的核心项目中导入System.Security 并扩展SignedXml 类?还是只导入 SignedXml 类?
谢谢!
【问题讨论】:
-
你为什么要关心一些私有字段是否丢失?这只是一个实施问题。
-
I have to use the old class.为什么?这是最重要的信息——没有它,问题就无法回答。您不需要 需要任何这些私有字段,甚至不需要序列化。序列化已签名的 XML 意味着保存 已签名的 XML 字符串,而不是用于生成它的类。 -
您是否使用过 BinaryFormatter?即使在 .NET Old 中,这也是一个禁忌
-
即使使用 .NET Old,any 补丁也可能会更改实现(这就是它们存在的原因),因此您的代码可能会被通过 Windows Update 提供的任何 .NET Old 补丁破坏。
标签: c# .net-core dllimport signedxml system.security