C# Visual Studio 2012中缺少SHA1(以及整个加密命名空间)

C# Visual Studio 2012中缺少SHA1(以及整个加密命名空间),c#,visual-studio-2012,C#,Visual Studio 2012,我从MSDN复制粘贴此代码: using System.Security.Cryptography; byte[] buffer = enc.GetBytes(text); SHA1CryptoServiceProvider cryptoTransformSHA1 = new SHA1CryptoServiceProvider(); string hash = BitConverter.ToString( cryptoTransformSHA1.

我从MSDN复制粘贴此代码:

using System.Security.Cryptography;

byte[] buffer = enc.GetBytes(text);
SHA1CryptoServiceProvider cryptoTransformSHA1 =
            new SHA1CryptoServiceProvider();
string hash = BitConverter.ToString(
            cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", "");

return hash;
但是VS说没有这样的
加密
名称空间,因此没有
SHA1CryptoServiceProvider

我做错了什么


我正在Windows 8版本预览上使用Visual Studio Professional 2012 RC和Dreamspark许可证。

您的代码需要一个类。请参见:

尝试将
System.Security
添加到项目的引用中

您的错误似乎是由于缺少此引用引起的


我认为您正在尝试创建Metro应用程序?Metro风格的应用程序不支持
System.Security.Cryptography
命名空间。可以找到Metro应用程序支持的.NET API命名空间的完整列表

6月29日更新


正如Guillermo所指出的,有一个名称空间,它包含一个类,例如可以应用SHA1算法。

答案是,正如Anders Gustafsson所指出的,在Metro
系统中,不支持安全性和加密。但是你有
Windows.Security.Cryptography

你能给出那段代码的链接吗?它就在那里。看,MSDn可能没有解释我自己,我的意思是VS说他找不到那个类或名称空间你只是缺少了对System.Security的引用吗?只是编辑来说明实际的问题还是同样的问题,
加密
名称空间丢失了这怎么可能?这是否意味着如果我想要一个Metro应用程序,我就不能再使用SHA-1了?是的,我看到了,但第一次看得不够仔细。谢谢你指出这一点。为了完整起见,我更新了我的答案,添加了一些MSDN文档的链接。