<div dir="ltr"><div><div><div><div>Hello,<br><br></div>I noticed some test code of Kestrel (web server for <a href="http://ASP.NET">ASP.NET</a> vNext) fails to compile on Linux hosts.<br><br>/kestrel/test/Microsoft.AspNet.Server.KestrelTests/EngineTests.cs(325,34): error CS1729: 'Socket' does not contain a constructor that takes 2 arguments<br>ref: <a href="https://github.com/aspnet/KestrelHttpServer/blob/dev/test/Microsoft.AspNet.Server.KestrelTests/EngineTests.cs#L325">https://github.com/aspnet/KestrelHttpServer/blob/dev/test/Microsoft.AspNet.Server.KestrelTests/EngineTests.cs#L325</a><br><br></div>It's because 2 args ctor is a new one introduced in .NET 4.5 and not currently exist on Mono. I found a bugzilla entry mentioning this issue: <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=20048">https://bugzilla.xamarin.com/show_bug.cgi?id=20048</a> and dug Mono code for finding solutions.<br><br></div>After couple of minutes of investigation, I gave up to write a "clean" dual stack (IPv4/v6) support and wrote a simple proxy ctor:<br><a href="https://github.com/mono/mono/pull/1364/files">https://github.com/mono/mono/pull/1364/files</a> (Thanks @martinjt for reviewing my pull-req.)<br><br></div><div>As I don't see any demands for IPv4/v6 dual stack support around <a href="http://ASP.NET">ASP.NET</a> vNext community, I believe hard-coding protocol version to v4 is just enough and better than nothing at least for now (of course, full support of dual stack would be great).<br></div><div><br></div><div>Any comments/feedback are welcomed.<br></div><div><br></div><div>Regards, Kei.<br></div></div>