【问题标题】:Is System.Security.Cryptography namespace supported by the Portable Class Library可移植类库是否支持 System.Security.Cryptography 命名空间
【发布时间】:2011-10-17 13:26:31
【问题描述】:

我正在将现有的多目标 Silverlight/.NET 项目转换为可移植类库项目,以减少支持多个 Microsoft 平台所需的项目数量。

我在一个使用 System.Security.Cryptography 命名空间的类中有一个错误

命名空间“System.Security”中不存在类型或命名空间名称“Cryptography”(您是否缺少程序集引用?)

此命名空间在 Silverlight 中可用,我想知道为什么可移植类库不支持它?

一个原因可能是这种行为是设计使然:任何与密码学相关的代码都不应出现在客户端 API 中。

【问题讨论】:

    标签: .net c silverlight cryptography portable-class-library


    【解决方案1】:

    很遗憾,Portable Library 不支持 Crypto。但是,我们在 PclContrib 中添加了对它的支持。

    【讨论】:

    • 好东西。看起来 PclContrib 包含 Portable Class Library v1 的缺失位。
    【解决方案2】:

    我怀疑它不支持它。该命名空间中的类上的成员用图像标记:

    您可以在 .NET Framework 类库的参考主题中找到可移植类库项目支持的成员。在类的成员表中,支持的成员旁边会显示以下可移植类库图标。

    我在文档中检查的每个课程都缺少该图像。

    此命名空间在 Silverlight 中可用,我想知道为什么可移植类库不支持它?

    我不能肯定地说;但在 XNA 下,XBox 360 平台似乎确实缺少它。即便如此,我相信你的结论是正确的——它不是一个在前端非常流行的 API。那么底层代码也是非常不可移植的。 Crypto 命名空间的很大一部分是通过 P/Invoking 到操作系统来完成的。我怀疑他们可以像使用 Silverlight 一样使其便携。但这可能还没有引起他们的注意。

    【讨论】:

      【解决方案3】:

      我建议你使用PclCrypto。它是最简单的使用和调用平台加密,而不是尝试自己实现它,这意味着更少的安全风险和更快的性能。

      【讨论】:

        【解决方案4】:

        “您可以在 .NET Framework 类库的参考主题中找到可移植类库项目支持的成员。在类的成员表中,支持的成员旁边会显示以下可移植类库图标。”

        我建议使用对象浏览器,因为我发现了 MSDN 指示 PCL 支持但框架中缺少的类的示例。这样的例子就是懒人

        (截至 2011 年 9 月 11 日)

        【讨论】:

          猜你喜欢
          • 2012-09-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多