При решении предыдущей проблемы с целевым вызовом, в конце концов, я получаю метод, описанный ниже.
Некоторые из ваших приложений могут иметь зависимости в текущем каталоге, что приводит к исключению, когда оно выполняется в другом каталоге, поскольку зависимости не совпадают.
Assembly assembly = Assembly.LoadFrom(file);
Directory.SetCurrentDirectory(Path.GetDirectoryName(file));
Type[] types = assembly.GetTypes();
foreach (Type t in types)
{
MethodInfo method = t.GetMethod("Main", BindingFlags.Static | BindingFlags.NonPublic);
if (method != null)
{
try
{
method.Invoke(null, null);
}
Directory.SetCurrentDirectory (Path.GetDirectoryName (файл)); // при обращении к текущему каталогу целевое исключение вызова будет разрешено.