I'm getting this wonderful error and I'm absolutely stumped.

I even tried replacing the existing WInterface.dll in the output directory with the one from WInterface's output directory.
Here is my Wcraft class. There is clearly nothing wrong with these classes so it has to be something with the settings. Any ideas?
Code:
using EasyHook;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Warcraft
{
public class Wcraft : IEntryPoint
{
private readonly WInterface Interface;
public Wcraft(RemoteHooking.IContext InContext, string InChannelName)
{
Console.WriteLine("hi");
Interface = RemoteHooking.IpcConnectClient<WInterface>(InChannelName);
Interface.WriteConsole("Dll successfully injected.");
}
public void Run(RemoteHooking.IContext InContext, string InChannelName)
{
try
{
Console.WriteLine("Run method");
System.Windows.Forms.MessageBox.Show("Finally!");
}
catch (Exception e)
{
Console.WriteLine("Owned.");
Console.WriteLine(e);
}
Console.ReadLine();
}
}
}
WInterface:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Warcraft
{
public class WInterface : MarshalByRefObject
{
public void IsInstalled(Int32 InClientPID)
{
return;
}
public void WriteConsole(String Write)
{
Console.WriteLine(Write);
}
}
}
WInjector:
Code:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Runtime.Remoting;
using System.Text;
using System.Threading.Tasks;
using EasyHook;
using Warcraft;
namespace WInjector
{
class WInjector
{
public string ChannelName;
public readonly string dll = "..\\..\\..\\..\\Warcraft\\bin\\x86\\Debug\\Warcraft.dll";
public static void Main(string[] args)
{
new WInjector().inject();
}
public void inject()
{
try
{
Process[] procs = Process.GetProcessesByName("Wow");
int wowPid = procs[0].Id;
AttachConsole(wowPid);
Config.Register("Wow Injex", dll);
RemoteHooking.IpcCreateServer<WInterface>(ref ChannelName, WellKnownObjectMode.SingleCall);
RemoteHooking.Inject(wowPid, InjectionOptions.Default, dll, null, ChannelName);
}
catch (Exception e)
{
Console.WriteLine(Marshal.GetLastWin32Error());
Console.WriteLine(e);
throw e;
}
Console.ReadLine();
}
[DllImport("kernel32", SetLastError = true)]
private static extern bool AttachConsole(int dwProcessId);
}
}
(private server btw)