Мое приложение хочет вызвать метод класса, принадлежащий другому AppDomain.Как вызвать метод класса из другого appDomain
AppDomain env = AppDomain.CreateDomain(
"test",
null,
new AppDomainSetup() { ApplicationName = "test" }
);
Assembly a = Assembly.LoadFrom("d:\\testenv1\\test2.dll");
//env.AssemblyResolve += new ResolveEventHandler(env_AssemblyResolve);
env.Load(a.FullName);
ObjectHandle o = env.CreateInstance(a.FullName, "Test2.Class1");
теперь у меня есть объект ручка Test2.Class1, но я понятия не имею, как invode «действие» метод класса Class1.
метод «действия» любит это:
public void action()
{
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName + " ok");
}
я пытался использовать o.unwrap() метод, чтобы получить ссылку на объект, но, кажется, что объект был передан в текущий домен, поэтому вывод метода «действие» выводит текущее имя домена.
Почему я получаю «FileNotFoundException» при выполнении кода? Сборка не может быть загружена в тестовое приложение. У него сильное имя? –