2016-07-13 6 views
1

Das ist vielleicht eine dumme Frage. Aber ich bin wirklich fest hier.Starten und übergeben Sie Argumente an ein anderes Projekt

Wie kann ich Argumente von einem Projekt zu einem anderen Projekt starten und übergeben? Sagen wir, ich habe AppA und AppB. Und von AppA möchte ich starten und senden Sie Argumente an AppB.

Wie kann ich AppB starten und die Argumente in static void Main(string[] args) erhalten?

namespace AppA 
{ 
    class StartProgram 
    { 
     static void Main(string[] args) 
     { 
      argsOne = args[0].ToString(); 
      argsTwo = args[1].ToString(); 
      argsThree = Convert.ToBoolean(args[2].ToString()); 
      argsFour = Convert.ToBoolean(args[3].ToString()); 
      argsFive = Convert.ToBoolean(args[4].ToString()); 

      //code to pass to another project in Main with arguments 
     } 
    } 
} 

Ein weiteres Projekt in der gleichen Lösung:

namespace AppB 
{ 
    class ETL 
    { 
     static void Main(string[] args) 
     { 
      argsOne = args[0].ToString(); 
      argsTwo = args[1].ToString(); 
      argsThree = Convert.ToBoolean(args[2].ToString()); 
      argsFour = Convert.ToBoolean(args[3].ToString()); 
      argsFive = Convert.ToBoolean(args[4].ToString());  
     } 
    } 
} 
+2

['Prozess.Start'] (https://msdn.microsoft.com/de-de/library/system.diagnostics.process.start)? –

+2

Viele Möglichkeiten. 'Process.Start', Hinzufügen eines Verweises auf die DLL, WCF, .NET Remoting (veraltet) je nach Anwendungsfall. – marsze

Antwort

1
diese

Versuchen. Hinweis: Ich habe diesen Code nicht getestet.

using System.Diagnostics; 
     namespace AppA 
     { 
      class StartProgram 
      { 
       static void Main(string[] args) 
       { 
        ProcessStartInfo startInfo = new ProcessStartInfo("AppB.exe"); //you can allso provide full path of the exe if both these exe's are not present on the same folder 
        startInfo.WindowStyle = ProcessWindowStyle.Minimized; 

        Process.Start(startInfo); 

        startInfo.Arguments = string.Join(" ",args); 

        Process.Start(startInfo); 
       } 
      } 
     } 
Verwandte Themen