可移植类库是否支持System.Security.Cryptography命名空间
我正在将现有的多目标Silverlight / .NET项目转换为可移植类库项目,以减少支持多个Microsoft平台所需的项目数量。
我在一个使用System.Security.Cryptography命名空间的类中有错误
命名空间’System.Security’中不存在类型或命名空间名称’Cryptography’(您是否缺少程序集引用?)
这个命名空间在Silverlight中可用,我想知道为什么Portable Class Library不支持它?
一个原因可能是此行为是设计原因:任何与加密相关的代码都不应出现在客户端API中。
不幸的是,Portable Library不支持Crypto。 但是,我们在PclContrib中添加了对它的支持 。
我怀疑它不支持它。 该命名空间中的类的成员标有图像:
您可以在.NET Framework类库的参考主题中找到可移植类库项目支持的成员。 在类的成员表中,受支持的成员旁边会显示以下可移植类库图标。
我在文档中检查的每个类都缺少这个图像。
这个命名空间在Silverlight中可用,我想知道为什么Portable Class Library不支持它?
我不能肯定地说; 但XBox 360平台下XNA似乎缺乏。 即便如此,我相信你的结论是正确的 – 它不是一个在前端非常流行的API。 然后底层代码也非常不便携。 Crypto名称空间的很大一部分是通过P / Invoking到操作系统来完成的。 我怀疑他们可以像Silverlight那样使它变得便携; 但那可能还没有出现在他们的雷达上。
我建议你使用PclCrypto 。 它是最简单的使用和调用平台加密而不是尝试自己实现它,这意味着更低的安全风险和更快的性能。
“您可以在.NET Framework类库的参考主题中找到可移植类库项目支持的成员。在类的成员表中,支持的成员旁边会显示以下可移植类库图标。”
我建议使用对象浏览器,因为我已经找到了MSDN指示在PCL中支持的类的示例,但框架中缺少这些类。 这样的例子是懒惰的
(截至2011-9-11)