在MacBook Pro El Capitan 10.11.12 i5上为ASP.net应用程序开发人员设置Mono:tlstest.cs编译时会出现3条警告,而tlstest.exe编译时会出现1条错误
尝试运行此处概述的测试:
http://www.mono-project.com/docs/getting-started/mono-basics/
mono hello.exe //runs fine with no errors and prints "Hello Mono World"
但是,我下载了tlstest.cs(请参阅上面的链接以获取源代码)并使用以下命令进行编译:
mcs tlstest.cs /r:System.dll /r:Mono.Security.dll
这将返回3条警告,如下所示:
tlstest.cs(169,23):警告CS0618:
System.Net.ServicePointManager.CertificatePolicy' is obsolete:
改用ServerCertificateValidationCallback'tlstest.cs(210,26):警告CS0618:
System.Net.Dns.Resolve(string)' is obsolete:
改用GetHostEntry'tlstest.cs(176,11):警告CS0219:已分配变量“前缀”,但从不使用其值
编译成功-3警告
所以现在已经创建了tlstest.exe,所以我运行了:
mono tlstest.exe https://www.nuget.org //which returned an error:
错误#-2146762486:CERT_E_CHAINING 0x800B010A
最佳答案
发生了相同的错误“错误#-2146762486:CERT_E_CHAINING 0x800B010A”。遵循链接“mono-project.com/docs/faq/security”建议的常见问题解答。
感谢乔纳森·詹姆斯(Jonathan James)
执行命令
"mozroots --import --ask-remove --machine"
显示以下结果:
无论如何仍在继续。
如果您使用mozroots在干净的系统上引导Mono的信任库,则可能没问题,否则可能表示网络入侵。请确保您使用的是受信任的网络,或转到证书同步。
然后再次执行以下步骤:
csc tlstest.cs -r:System.dll <-- 2 warning as before
mono tlstest.exe https://www.nuget.org https://www.nuget.org”。
希望这可以帮助...