2017-08-29 3 views
0

J'ai écrit une application console pour exécuter des tests automatisés pour l'application Web de mon entreprise. Les applications prennent des paramètres tels que Env = qa Browser = Chrome et Clients = Clientname1, ClientName2, ClientName3. Lorsque j'exécute l'application sur ma machine, cela fonctionne très bien, mais lorsque je l'exécute sur un serveur Windows 2012, le paramètre client est tronqué au premier client.Les arguments de ligne de commande pour l'application console sont tronqués sur une machine et pas une autre

Voici le code que je utilise pour analyser l'argument de ligne de commande et à le stocker dans une liste:

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

S'il vous plaît aider.

Répondre

0

Le problème était que chaque valeur séparée par des virgules dans la liste était considérée comme son propre argument par le programme. Si vous construisez et argumentez de cette manière, vous devez ajouter des guillemets autour de la liste séparée par des virgules.