Parv Sharma
Parv Sharma

Reputation: 12705

running .net console applications programmatically

I have a .exe program (console app) written in .net.

  1. I need to execute it
  2. Provide inputs
  3. Get the outputs as a string or preferably as stream.

Currently I'm using System.Diagnostics namespace and Process Class. But using Diagnostic namespace for this purpose dosent seem to be ok.

Is there any method by which I can do the same thing more efficiently?. Like using reflection to find Main() method and then invoking it.

Upvotes: 0

Views: 100

Answers (2)

st35ly
st35ly

Reputation: 1255

Completely fine. System.Diagnostics is just a namespace.

If more info needed, you can navigate to this project for motivation and see how to handle processes grammatically or this snippet from VM found in here

                var startInfo = new ProcessStartInfo(FilePath)
                {
                    WorkingDirectory = RootFolderPath,
                    Arguments = StartingArguments,
                    RedirectStandardOutput = true,
                    UseShellExecute = false,
                    CreateNoWindow = true
                };
                ConsoleProcess = new Process {StartInfo = startInfo};

                ConsoleProcess.Start();

Upvotes: 0

Thorsten Dittmar
Thorsten Dittmar

Reputation: 56727

The Process class is exactly the right tool for doing what you want. Don't mind the name of the Diagnostic namespace - just use the Process class.

Upvotes: 3

Related Questions