很难将所有内容放在标题中,但是我希望我能尽我所能解释。基本上,我做了一个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虚拟机出现问题,可能的防火墙设置还是与代码相关的问题。
额外 该代码可以在我自己的笔记本电脑上使用,因此重启后也可以使用。