从asp.net调用控制台应用程序

4

我试图从asp.net调用控制台应用程序,但当我在控制台应用程序中设置断点时,为什么它无法停在那里。我该如何调用控制台应用程序?

 var proc = Process.Start("D:\\Edefter\\EFaturaConsoleTxtParser\\bin\\Debug\\EFaturaConsoleTxtParser.exe", "/arg1 /arg2");
                proc.WaitForExit();

你想在服务器上运行控制台应用程序吗? - Koen
2个回答

7

在以编程方式启动进程时,'UserShellExcute'属性必须为'false'。否则,CreateNoWindow属性值会被忽略并创建新窗口。

示例:

 ProcessStartInfo startinfo = new ProcessStartInfo();
 startinfo.FileName = @"demoApplication.exe";
 startinfo.Arguments = "arg1 arg2";
 startinfo.CreateNoWindow = true;
 startinfo.UseShellExecute = false;
 Process myProcess = Process.Start(startinfo);

Source: http://msdn.microsoft.com


7

我不确定这件事,但你可以试一试。

  ProcessStartInfo startinfo = new ProcessStartInfo();   
    startinfo.FileName =@"D:\\Edefter\\EFaturaConsoleTxtParser\\bin\\Debug\\EFaturaConsoleTxtParser.exe";   
    startinfo.CreateNoWindow = true;   
    startinfo.UseShellExecute = true; 
    Process myProcess = Process.Start(startinfo);
    myProcess.Start();

谢谢您的回答,它很清楚地起作用了,但我想问一个问题。当进程正在运行时,我不想看到控制台应用程序窗口。startinfo.CreateNoWindow=true 与此有关,但是控制台应用程序窗口弹出了。 - altandogan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接