启动参数并将其传递给另一个项目

本文关键字:另一个 项目 参数 启动 | 更新日期: 2023-09-27 17:56:46

这可能是一个愚蠢的问题。但我真的被困在了这个上面。

如何启动参数并将其从一个项目传递到另一个项目?假设我有AppAAppB.从AppA我想启动并向AppB发送参数.

如何启动AppB并接收static void Main(string[] args)中的参数?

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
        }
    }
}

同一解决方案中的另一个项目:

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());     
        }
    }
}

启动参数并将其传递给另一个项目

试试这个。注意:我还没有测试过这段代码。

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);
                }
            }
        }