когда я загружаю свою dll в другой домен приложения, она загружается правильно, но когда я вызываю exe, который нужен для dll, он выдает исключение
этот код взят из другого вопроса на StackOverFlow
мой код:
static void Main(string[] args)
{
AppDomain app = AppDomain.CreateDomain("seco");
//my dll that i want to add to my app domain
string path = @"D:\vs projects\ConsoleApplication17\ConsoleApplication17\bin\Debug\lom.dll";
Type type = typeof(Proxy);
var asmLoaderProxy = (Proxy)app.CreateInstanceAndUnwrap(
type.Assembly.FullName,
type.FullName);
asmLoaderProxy.GetAssembly(path); //load succed here
// the exe that needs to the dll
app.ExecuteAssembly("op.exe"); // -> throw exception FileNotFoundException here
AppDomain.Unload(app);
Console.WriteLine("finished");
Console.ReadKey();
}
[Serializable]
public class Proxy
{
public Assembly GetAssembly(string assemblyPath)
{
try
{
return Assembly.LoadFrom(assemblyPath);
}
catch (Exception)
{
return null;
// throw new InvalidOperationException(ex);
}
}
}
}
в чем моя ошибка? примечание -> dll имеет один класс, у которого есть один метод, который печатает «print hello in dll»
, а exe берет экземпляр из класса и вызывает метод
спасибо :)