Я пытаюсь использовать отражение, чтобы получить определенные методы в DLL, чтобы я мог их выполнить, но получаю сообщение об ошибке:
Не удалось загрузить файл или сборку 'MyDLL.dll' или одну из ее зависимостей,Указанное имя сборки или кодовая база недопустимы. (Исключение из HRESULT: 0x80131047)
Не уверен, что мне нужно сделать, чтобы это исправить. Может кто-нибудь помочь с этим?
Task.Factory.StartNew((Action)delegate
{
try
{
int count = 1;
Assembly assembly = Assembly.LoadFrom("MyDLL.dll");
foreach (Type type in assembly.GetTypes())
{
if (type.IsClass == true)
{
MethodInfo[] methodInfo = type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);
foreach (MethodInfo mi in methodInfo)
{
// MyTests is the class object in MyDLL.
var instance = Activator.CreateInstance(@"MyDLL.dll", "MyTests"); // Error here
TestResult test = (TestResult)mi.Invoke(instance, null);
SendTestResult(test, false);
if (ct.IsCancellationRequested)
{
break;
}
Thread.Sleep(5);
count++;
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
});