Трудно все поместить в заголовок, но я надеюсь, что смогу объяснить это настолько хорошо, насколько смогу. По сути, я создал консольное приложение C #, которое время от времени читает определенный файл. Приложение работает на виртуальной машине из экземпляров Google. Теперь я создал еще одно консольное приложение, способное управлять другим приложением, например закрывать его или перезапускать исполняемые файлы.
Вопрос:
Когда я запускаю консольное приложение вручную (вручную), оно работает нормально и читает файлы так, как должно. Я мог бы закрыть и открыть это сколько угодно, и это все еще работает. Проблема в том, что мое второе консольное приложение пытается перезапустить первое консольное приложение. Перезапуск работает нормально, и большинство функций, таких как определенные соединения ftp, работают, но прекращают чтение файлов и возвращают нулевое значение в результате. Там нет никаких ошибок отладки, и при этом он не отображает ошибку на консоли.
Я хочу, чтобы второе приложение могло перезапустить мое первое приложение, не заставляя его работать там, где некоторые функции оказались заблокированными.
Код, который я использую:
string loc = File.ReadAllText(Directory.GetCurrentDirectory() + "\\"+ "location.txt");
Process p = new Process();
p.StartInfo.FileName = loc;
p.StartInfo.UseShellExecute = true;
p.Start();
Я пытался запустить его как p.StartInfo.Verb = "runas";
, но это также не дает положительного результата. Может ли это быть проблемой с виртуальной машиной Google, возможными настройками брандмауэра или проблемами, связанными с кодом.
Extra
Этот код работает на моем ноутбуке и работает после перезагрузки.