在Unity 5.6.7f1中是否可以使用具有.NET 3.5要求的库?

时间:2019-09-30 04:54:17

标签: c# .net unity3d

我在Unity 5.6.7f1中拥有一个游戏。现在,我想使用一个库,但是它需要.NET 3.5或更高版本。可以在不使用更高版本的Unity的情况下使用该库吗?

更具体地说,我想使用http://rusticisoftware.github.io/TinCan.NET/中的Tincan库。该库向存储用户声明(即UserX启动游戏)的数据库发送HTTP后请求。 在更高的Unity版本中(例如2018.4.3f1)工作正常,但在Unity 5.6.7f1中却不能。 我认为是因为5.6.7f1不支持.NET 3.5

这是我的第一篇文章,所以我希望我做的一切正确

非常感谢 祖卡哈拉

我尝试过的事情:

  • 在Unity 2018.4.3f1中进行了测试->效果很好,并以5.6.7f1->复制了代码,并获得了TlsException(请参见下文)。将Projekt vom 2018.4.3f1转换为5.6.7f1->相同

  • 试图为Unity 5.6.7f1安装IL2CPP->对我来说没有意义,也没有遵循这种方法

我收到此错误消息:

TlsException:从服务器接收到无效的证书。错误代码:0xffffffff800b010a Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates(Mono.Security.X509.X509CertificateCollection证书) Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1() Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process() (包装器远程检查调用)Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process() Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage(Mono.Security.Protocol.Tls.TlsStream handMsg) Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback(IAsyncResult asyncResult) 重新抛出为IOException:身份验证或解密失败。 Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback(IAsyncResult asyncResult) 重新抛出为WebException:获取响应流时出错(写:身份验证或解密失败。):SendFailure System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult) System.Net.HttpWebRequest.GetRequestStream()

1 个答案:

答案 0 :(得分:0)

据我所知,Unity 5支持与.Net 3.5等效的Mono版本2,但是存在一些限制,所提供的错误日志清楚地表明了使用TLS连接的问题。我建议您检查URL的非https版本,然后查看它是否有效。

  

.NET 3.5及以下版本对TLS的支持因平台而异,并且有   不保证支持哪些功能。   https://docs.unity3d.com/2019.1/Documentation/Manual/dotnetProfileSupport.html