Я работаю над проектом Compact Framework 2.0 и пытаюсь запустить программу «B» из другой программы «A», используя Process.Start. Я делал это несколько раз раньше, но на этот раз я столкнулся с некоторыми странными проблемами.
Программа «B» запускается, но вызывает исключение MissingMethodException, в основном сообщая мне, что ей не хватает определенной сборки, на которую она ссылалась. Проблема в том, что сборка .dll находится прямо там, в той же папке, что и программа "B". Если я дважды щелкну по программе «B», она будет работать правильно без MissingMethodException, эта проблема возникает только при запуске с Process.Start в программе «A». Я абсолютно не знаю, что здесь происходит. Я попытался установить свойство WorkingDirectory без удачи. Любые идеи относительно того, почему программа не может загрузить свои ссылки при выполнении через Process.Start? Спасибо
System.Diagnostics.Process proc = new System.Diagnostics.Process();
ProcessStartInfo startInfo = new ProcessStartInfo(programBFullPath, "argument");
//I've been changing these two properties, have tried shell execute with both false and true, tried setting working directory and not setting it also
startInfo.UseShellExecute = false;
startInfo.WorkingDirectory = programBDirectory;
proc.StartInfo = startInfo;
proc.Start();
РЕДАКТИРОВАТЬ Я только что кое-что подумал ... И программа "A", и программа "B" используют .dll, которую программа "B" не загружает. Если две программы не могут загрузить один и тот же .dll одновременно, это проблема. Это тот случай?