Ich möchte ein Programm in Visual Studio 2008 debuggen. Das Problem ist, dass es beendet wird, wenn es keine Argumente erhält. Dies ist von der Hauptmethode:
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);
}
Ich möchte es beim Kompilieren nicht auskommentieren und dann wieder rein. Wie kann ich das Programm beim Debuggen mit Argumenten starten? Es wird als StartUp-Projekt festgelegt.
c#
visual-studio
visual-studio-2008
visual-studio-debugging
Kasper Hansen
quelle
quelle
Antworten:
Gehe zu
Project-><Projectname> Properties
. Klicken Sie dann auf dieDebug
Registerkarte und geben Sie Ihre Argumente in das aufgerufene Textfeld einCommand line arguments
.quelle
Command line arguments
getrennten Bereich eingegeben werden (wie Sie dies über die Befehlszeile tun würden). Ich bin mir nicht sicher, ob es andere Möglichkeiten gibt, aber vielleicht können Sie dies Ihrer Antwort hinzufügen.-url https://google.com -p pass -u user
?Ich würde vorschlagen, die Anweisungen wie folgt zu verwenden:
Viel Glück!
quelle
Mein Vorschlag wäre, Unit Tests zu verwenden.
Führen Sie in Ihrer Anwendung die folgenden Schalter aus
Program.cs
:und das gleiche für
static Main(string[] args)
.Oder verwenden Sie alternativ Friend Assemblies durch Hinzufügen
zu deinem
AssemblyInfo.cs
.Erstellen Sie dann ein Unit-Test-Projekt und einen Test, der ungefähr so aussieht:
Auf diese Weise können Sie auf automatisierte Weise mehrere Argumenteingaben testen, ohne Ihren Code bearbeiten oder eine Menüeinstellung jedes Mal ändern zu müssen, wenn Sie etwas anderes überprüfen möchten.
quelle
Ich bin auf diese Seite gekommen, weil meine Befehlszeilenparameter vertrauliche Informationen enthalten und diese nicht im Code-Repository gespeichert werden sollen. Ich habe Systemumgebungsvariablen verwendet, um die Werte zu speichern, die auf jedem Build- oder Entwicklungscomputer je nach Bedarf für jeden Zweck festgelegt werden konnten. Die Erweiterung von Umgebungsvariablen funktioniert hervorragend in Shell-Stapelprozessen, nicht jedoch in Visual Studio.
Startoptionen für Visual Studio:
Visual Studio würde jedoch nicht den Variablenwert zurückgeben, sondern den Namen der Variablen.
Beispiel für ein Problem:
Meine endgültige Lösung, nachdem ich mehrere hier auf SO ausprobiert hatte, bestand darin, eine schnelle Suche nach der Umgebungsvariablen in meinem Argumentprozessor zu schreiben. Ich habe den eingehenden Variablenwert auf% überprüft. Wenn er gefunden wurde, suchen Sie die Umgebungsvariable und ersetzen Sie den Wert. Dies funktioniert in Visual Studio und in meiner Build-Umgebung.
Auf diese Weise kann ich dieselbe Syntax in meinen Beispiel-Batchdateien und beim Debuggen mit Visual Studio verwenden. Keine Kontoinformationen oder URLs in GIT gespeichert.
Beispiel Verwendung im Stapel
quelle
Für Visual Studio-Code :
launch.json
Datei öffnenquelle