Я изучаю этот код из MSDN MarshalByRefObject Я не мог понять, почему это вызывает исключение.Я думаю, может ли тип Worker находится в той же сборке, что и класс Program?Нужно ли устанавливать эту сборку в GAC, хотя я запускаю это в режиме отладки в редакторе Visual Studio 2017.У меня нет четкого понимания, как работать со сборкой.
using System;
using System.Reflection;
namespace AppDomainMarshalByRefObject
{
public class Program
{
public static void Main(string[] args)
{
Worker localWorker = new Worker();
localWorker.PrintDomain();
AppDomain ad = AppDomain.CreateDomain("New domain");
Worker remoteWokrer = (Worker)ad.CreateInstanceAndUnwrap(typeof(Worker).Assembly.FullName, "Worker");
remoteWokrer.PrintDomain();
Console.ReadKey();
}
}
public class Worker : MarshalByRefObject
{
public void PrintDomain()
{
Console.WriteLine("Object is executing in AppDomain \"{0}\"",
AppDomain.CurrentDomain.FriendlyName);
}
}
}