Chcę debugować program w Visual Studio 2008. Problem polega na tym, że kończy pracę, jeśli nie otrzymuje argumentów. To pochodzi z głównej metody:
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);
}
Nie chcę tego komentować, a potem wracać podczas kompilacji. Jak mogę uruchomić program z argumentami podczas debugowania? Jest ustawiony jako projekt startowy.
c#
visual-studio
visual-studio-2008
visual-studio-debugging
Kasper Hansen
źródło
źródło
Odpowiedzi:
Idź do
Project-><Projectname> Properties
. Następnie kliknijDebug
kartę i wprowadź argumenty w polu tekstowym o nazwieCommand line arguments
.źródło
Command line arguments
oddzielając spacje (tak jak zrobiłbyś to za pomocą wiersza poleceń). Nie jestem pewien, czy istnieją inne sposoby, ale może możesz dodać to do swojej odpowiedzi.-url https://google.com -p pass -u user
?Sugerowałbym użycie następujących dyrektyw :
Powodzenia!
źródło
Moją sugestią byłoby użycie testów jednostkowych.
W swojej aplikacji wykonaj następujące przełączniki w
Program.cs
:i to samo dla
static Main(string[] args)
.Lub alternatywnie użyj zestawów znajomych , dodając
do twojego
AssemblyInfo.cs
.Następnie utwórz projekt testu jednostkowego i test, który wygląda trochę tak:
W ten sposób możesz w zautomatyzowany sposób przetestować wiele danych wejściowych argumentów bez konieczności edytowania kodu lub zmiany ustawienia menu za każdym razem, gdy chcesz sprawdzić coś innego.
źródło
Trafiłem na tę stronę, ponieważ mam poufne informacje w moich parametrach wiersza poleceń i nie chciałem, aby były przechowywane w repozytorium kodu. Używałem zmiennych środowiskowych systemu do przechowywania wartości, które można ustawić na każdej maszynie kompilacji lub programistycznej w zależności od potrzeb. Rozszerzanie zmiennych środowiskowych działa świetnie w procesach Shell Batch, ale nie w programie Visual Studio.
Opcje uruchamiania programu Visual Studio:
Jednak program Visual Studio nie zwróci wartości zmiennej, ale nazwę zmiennej.
Przykład problemu:
Moim ostatecznym rozwiązaniem po wypróbowaniu kilku tutaj na SO było napisanie szybkiego wyszukiwania zmiennej środowiskowej w moim procesorze argumentów. Dodałem sprawdzanie% w przychodzącej wartości zmiennej, a jeśli zostanie znalezione, wyszukaj zmienną środowiskową i zamień wartość. Działa to w programie Visual Studio iw moim środowisku kompilacji.
Dzięki temu mogę używać tej samej składni w moich przykładowych plikach wsadowych oraz podczas debugowania w programie Visual Studio. Żadne informacje o koncie ani adresy URL nie są zapisane w GIT.
Przykład użycia w partii
źródło
W przypadku kodu programu Visual Studio :
launch.json
plikźródło