Je veux déboguer un programme dans Visual Studio 2008. Le problème est qu'il se ferme s'il n'obtient pas d'arguments. Ceci provient de la méthode principale:
if (args == null || args.Length != 2 || args[0].ToUpper().Trim() != "RM")
{
Console.WriteLine("RM must be executed by the RSM.");
Console.WriteLine("Press any key to exit program...");
Console.Read();
Environment.Exit(-1);
}
Je ne veux pas le commenter, puis revenir lors de la compilation. Comment puis-je démarrer le programme avec des arguments lors du débogage? Il est défini comme projet de démarrage.
c#
visual-studio
visual-studio-2008
visual-studio-debugging
Kasper Hansen
la source
la source
Réponses:
Allez à
Project-><Projectname> Properties
. Cliquez ensuite sur l'Debug
onglet et remplissez vos arguments dans la zone de texte appeléeCommand line arguments
.la source
Command line arguments
espaces séparés (comme vous le feriez en utilisant la ligne de commande). Je ne sais pas s'il existe d'autres moyens, mais vous pouvez peut-être ajouter ceci à votre réponse.-url https://google.com -p pass -u user
?Je suggérerais d'utiliser les directives comme les suivantes:
Bonne chance!
la source
Ma suggestion serait d'utiliser des tests unitaires.
Dans votre application, effectuez les commutations suivantes dans
Program.cs
:et la même chose pour
static Main(string[] args)
.Ou utilisez les assemblages d'amis en ajoutant
à ton
AssemblyInfo.cs
.Créez ensuite un projet de test unitaire et un test qui ressemble un peu à ceci:
De cette façon, vous pouvez, de manière automatisée, tester plusieurs entrées d'arguments sans avoir à modifier votre code ou à modifier un paramètre de menu chaque fois que vous souhaitez vérifier quelque chose de différent.
la source
Je suis venu sur cette page parce que j'ai des informations sensibles dans mes paramètres de ligne de commande et que je ne voulais pas qu'elles soient stockées dans le référentiel de code. J'utilisais des variables d'environnement système pour contenir les valeurs, qui pouvaient être définies sur chaque machine de construction ou de développement selon les besoins pour chaque objectif. L'expansion des variables d'environnement fonctionne très bien dans les processus Shell Batch, mais pas dans Visual Studio.
Options de démarrage de Visual Studio:
Cependant, Visual Studio ne renvoie pas la valeur de la variable, mais le nom de la variable.
Exemple de problème:
Ma solution finale après en avoir essayé plusieurs ici sur SO était d'écrire une recherche rapide de la variable d'environnement dans mon processeur d'arguments. J'ai ajouté un chèque pour% dans la valeur de la variable entrante, et si elle est trouvée, recherchez la variable d'environnement et remplacez la valeur. Cela fonctionne dans Visual Studio et dans mon environnement de génération.
Cela me permet d'utiliser la même syntaxe dans mes exemples de fichiers de commandes et lors du débogage avec Visual Studio. Aucune information de compte ou URL enregistrée dans GIT.
Exemple d'utilisation en lot
la source
Pour Visual Studio Code :
launch.json
fichierla source