WCF was the direct successor to .NET Remoting. It offers TCP binding (NetTcpBinding) that mimics the performance of binary remoting while being more secure and configurable. However, WCF itself is not cross-platform.
To illustrate what uses this DLL, here is a classic (deprecated) server-side remoting configuration using only .NET Framework:
Server code (Console App):
using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp;public class RemoteObject : MarshalByRefObject public string GetMessage() => "Hello from remoting-core!"; remoting-core.dll
class Program static void Main() TcpChannel channel = new TcpChannel(8080); ChannelServices.RegisterChannel(channel, false); RemotingConfiguration.RegisterWellKnownServiceType( typeof(RemoteObject), "RemoteObject.rem", WellKnownObjectMode.Singleton); Console.WriteLine("Press enter to stop..."); Console.ReadLine();
Even though the code uses System.Runtime.Remoting.dll (the managed facade), the actual activation, proxy generation, and channel sinks are implemented inside remoting-core.dll. If that DLL is missing, the call to RegisterWellKnownServiceType fails with the infamous file load error. WCF was the direct successor to
If the original remoting usage was fire-and-forget, consider Azure Service Bus, RabbitMQ, or MSMQ.
A migration strategy often involves:
If you’ve stumbled upon a file named remoting-core.dll while digging through Windows Event Viewer, debugging a crash dump, or (more likely) staring at a frustrating “missing DLL” error, you might be wondering what this file actually does. class Program static void Main() TcpChannel channel =
Unlike common system files like kernel32.dll or user32.dll, remoting-core.dll isn’t a standard Windows component. It is specific to third-party software, and understanding its origin is the first step to fixing any related problems.
In this post, we’ll cover what this DLL does, which applications use it, how to safely fix errors, and when to be concerned.