When I do this:
s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress,
true);
this happens:
** (NetDump.exe:25323): WARNING **: Missing member SetSocketOption in type
Socket, assembly /usr/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll
Unhandled Exception: System.MissingMethodException: Method not found:
'System.Net.Sockets.Socket.SetSocketOption'.
The problem is the System.dll reference, somehow. I can run an EXE compiled in
Visual Studio fine in Mono. But if I run an EXE that calls a DLL that calls a
system function, then I have trouble. The above is in a DLL (of mine)
referenced by the EXE (of mine).
Both the DLL and EXE are compiled in Windows. When I run it, I get the above.
When I compile in Linux using the same code, it works fine.
Is this by design, or a known issue, or am I simply doing something wrong? If
the former, no problem - I'll just do a separate build on Linux for
executables being sent to Linux systems. But if it's ME, I'd obviously love to
know so I can fix it. =)
It looks like it might be something to do with versioning, but that doesn't
make too much sense to me - the new Socket() constructor should be there, too,
and that works fine. I'm a versioning novice, so maybe I'm wrong.
Thanks,
Chad
_______________________________________________
Mono-list maillist - Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list