控制台应用程序的命令行参数在一台计算机上而不是另一台计算机上被截断

时间:2017-08-29 17:27:56

标签: .net console-application

我编写了一个控制台应用程序来为我的公司Web应用程序运行自动化测试。应用程序采用Env = qa Browser = Chrome和Clients = Clientname1,ClientName2,ClientName3等参数。当我在我的机器上运行应用程序时它工作正常,但是当我在Windows Sever 2012上运行它时,客户端参数被截断为第一个客户端。

以下是我用来解析命令行参数并将其存储到列表中的代码:

static List<string> ParseList(string arg)
    {
        Console.WriteLine(arg);
        List<string> Collection = new List<string>();
        string SplitResults = arg.Split('=')[1];
        if (SplitResults.Contains(','))
            Collection = SplitResults.Split(',').ToList();
        else
            Collection.Add(SplitResults);

        return Collection;
    }

请帮助。

1 个答案:

答案 0 :(得分:0)

问题在于,列表中的每个逗号分隔值都被程序视为自己的参数。如果以这种方式构造和参数,则必须在逗号分隔列表周围添加双引号。