Open e45240 opened 5 years ago
GetMethod should not return null here, maybe it happen when some code not used for your app is stripped, or some code is obfuscated. Add an null check looks safe, but I'm not sure whether the inner logic of DotNetty still work well without them.
May be you have turned on something like code strip(or trim ,or obfuscator) in Unity3d, but it's not safe for code use reflection. And as an workaround, you can simplely turn it off, or config your link.xml
( or something else) to except DotNetty from the strip list.
Not sure what will happen for AOT/IL2CPP mode or CoreRT.
By the way(Another edge case that may never be fixed), seems there is no Api to strictly check explicit implement of an interface and check override for method of class?(See the below code) It's really hard to find a right way to do that, since explicit implement of interface and new slot of virtual methods is available in C#.
handlerType.GetInterfaceMap(typeof(IChannelHandler))
is not available in ns1.3.
I use DotNetty in Unity2018, and encounter the following exception
I located the exception at
DotNetty.Transport.Channels.AbstractChannelHandlerContext
and fix it