[Mono-dev] Support 2-args Socket ctor added in .NET 4.5

Kei Nakazawa muo at muo.jp
Sat Oct 25 14:38:11 UTC 2014


Hello,

I noticed some test code of Kestrel (web server for ASP.NET vNext) fails to
compile on Linux hosts.

/kestrel/test/Microsoft.AspNet.Server.KestrelTests/EngineTests.cs(325,34):
error CS1729: 'Socket' does not contain a constructor that takes 2 arguments
ref:
https://github.com/aspnet/KestrelHttpServer/blob/dev/test/Microsoft.AspNet.Server.KestrelTests/EngineTests.cs#L325

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:
https://bugzilla.xamarin.com/show_bug.cgi?id=20048 and dug Mono code for
finding solutions.

After couple of minutes of investigation, I gave up to write a "clean" dual
stack (IPv4/v6) support and wrote a simple proxy ctor:
https://github.com/mono/mono/pull/1364/files (Thanks @martinjt for
reviewing my pull-req.)

As I don't see any demands for IPv4/v6 dual stack support around ASP.NET
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).

Any comments/feedback are welcomed.

Regards, Kei.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20141025/7fcf9009/attachment.html>


More information about the Mono-devel-list mailing list