C# X509CertificateCollection中的Mono未实现异常

C# X509CertificateCollection中的Mono未实现异常,c#,mono,x509certificate,C#,Mono,X509certificate,我有一个用C编写的控制台应用程序,我正试图在Linux上运行mono 4.2.1(也尝试了4.4.1),但调用X509CertificateCollection.Add()时遇到了NotImplementedException。这就是违规代码: var cert = new X509Certificate2(certFilename, ""); var clientHandler = new WebRequestHandler(); clientHandler.ClientCertificate

我有一个用C编写的控制台应用程序,我正试图在Linux上运行mono 4.2.1(也尝试了4.4.1),但调用
X509CertificateCollection.Add()
时遇到了
NotImplementedException
。这就是违规代码:

var cert = new X509Certificate2(certFilename, "");
var clientHandler = new WebRequestHandler();
clientHandler.ClientCertificates.Add(cert);

我已经安装了mono complete,并尝试了标准版本和Xamarin版本,结果都是一样的。我还检查了我是否已根据文档中的安装了ca证书。我在mono代码中做了一些挖掘和发现,这表明该功能已经实现,但显然不适合我。我是否缺少构建/部署过程中的一部分?

如果您得到的是NotImplementedException,那么您的程序集依赖项链中缺少一些内容。我要做的是在调试时检查您的解决方案是否具有安装在GAC/BIN中的X509证书所需的依赖项。我希望这有帮助

首先尝试升级到Mono 4.4.1。升级到4.4.1后仍然存在相同的问题。命名空间
System.Security.Cryptography.X509Certificates
中似乎有一个
X509CertificateCollection
类,而
Mono.Security.X509
中有一个。这两个都会引发异常吗?稍后我将在
Mono
版本中尝试此代码段,但我需要它来适应系统库请求,因此无法使该版本适合。另外,我不是mono专家,但我从mono日志中收集到JIT编译器正在做的事情。