我想有一个控制台应用程序在arg中传递,以便能够调用它本身传递在最初发送的相同命令arg中。如何用参数递归调用控制台应用程序?
如果我尝试这个但是
static void Main(string[] args)
{
Assembly ass = System.Reflection.Assembly.GetExecutingAssembly();
string cmd = Environment.CommandLine;
Process again = new Process();
again.StartInfo.FileName = ass.Location;
again.StartInfo.Arguments = args[0];
Console.WriteLine("Running with: " + args[0]);
System.Threading.Thread.Sleep(10000);
again.Start();
return;
}
初始调用打印“与运行:ARGUMENT1”,但因为args数组是空的第二个呼叫失败。
也许'Assembly'不喜欢被称为屁股,因此拒绝标识自己。 :) –
Project + Properties,Debug选项卡,“启用Visual Studio托管过程”选项有一些可能的副作用。这使得您的进程yourapp.vshost.exe而不是yourapp.exe。 Skeet通过不使用IDE避开了它。尽管如此,这仍然可以工作。 –