I ran the portability tester, and got the following regressions that need to be changed to enable .NET Core support
NetworkTablesCore
[x] System.AppDomain does not exist (We only use for shutdown hooks. Recommended change is to use a static object with a finalizer to do the same thing)
[x] SuppressUnmanagedCodeSecurityAttribute (Can remove, but maybe IfDef it out. Its good to have on windows)
NetworkTablesManaged
[x] System.Base64FormattingOptions (No alternative, Probably will have to roll our own library)
[x] System.Convert.ToBase64String (Again roll our own. Needed for NtCore spec)
[x] System.IO.Stream.Close (Replace with Dispose())
[x] System.IO.StreamWriter directly opening file (Replace with File.Open and pass that stream to the StreamWriter)
[x] System.Net.Dns.GetHostEntry (Figure out something new. TBD)
[ ] System.Net.Sockets.NetworkStream missing get_Socket (This is gonna be a big one, don't know what we will do.)
[ ] System.Net.Sockets.TcpClient missing BeginConnect, Close, Connect, EndConnect, and get_Client (Again big changes will need to be figured out.)
[ ] System.Net.Sockets.TcpListener.AcceptSocket (Again a big change. Might just have to move to raw sockets
From the looks of it, NetworkTablesCore is much easier to port, which makes sense since its just a thin wrapper. NetworkTablesManaged is going to require a lot more work.
I ran the portability tester, and got the following regressions that need to be changed to enable .NET Core support
NetworkTablesCore
NetworkTablesManaged
From the looks of it, NetworkTablesCore is much easier to port, which makes sense since its just a thin wrapper. NetworkTablesManaged is going to require a lot more work.