繁体   English   中英

在Mac OS X上的Xamarin Studio 6.1中使用System.Security.Cryptography时的程序集引用错误(CS0234)

[英]Assembly reference error (CS0234) when using System.Security.Cryptography in Xamarin Studio 6.1 on Mac OS X

在OS X El Capitan 10.11.5上运行Xamarin Studio(社区)6.1(build 4963),我试图在我的解决方案中使用RNGCryptoService(目标是iOS和Android),我需要使用命名空间System.Security.Cryptography。 但是,它似乎using System.Security.Cryptography; 然后调用RNGCryptoServiceProvider random = new RNGCryptoServiceProvider(); 在我的代码中的某处给了我错误。

错误CS0234:名称空间“System.Security”中不存在类型或命名空间名称“Cryptography”。 你错过了装配参考吗? (CS0234)

我试图在NuGet存储库中查找System.Security.Cryptography包(包括预发布版本),但我没有找到任何东西。

我错过了什么? 我在哪里可以找到装配参考?

您需要System.Security.Cryptography.Algorithms包才能使用RNGCryptoServiceProvider 使用NuGet v 3.4或更高版本安装:

> PM Install-Package System.Security.Cryptography.Algorithms

您可能还需要修改project.json文件以使此包依赖于dotnet5.4而不是全局依赖项来阻止编译器抱怨重复的类声明。

跟进:看起来Xamarin.iOS或Android不支持System.Security.dll。 作为替代方案,您可能会对Jeffrey Stedfast的Bouncy Castle密码库bc-csharp的分叉运气,以便与Xamarin.Android和Xamarin.iOS一起使用。

另一种选择可能是将PCLCrypto库与此助手类一起使用,并为NuGet使用解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM