Отладка аргументов командной строки в C # - PullRequest
1 голос
/ 28 августа 2009

Я создал проект модульного теста для библиотеки в VS 2008 C #. Библиотека будет реагировать на аргументы командной строки. Я установил свойства модульного теста -> Отладка -> Параметры запуска с параметрами по умолчанию, чтобы вызвать определенные реакции в целевой библиотеке. Мои вопросы:

1) Когда код библиотеки выполняет Environment.GetCommandLineArgs (), он не видит ни одного из заданных по умолчанию аргументов. Я даже скопировал аргументы по умолчанию из проекта модульного теста в свойства проекта библиотеки без эффекта. Что я не делаю (верно)?

2) Есть ли программный способ задания аргументов командной строки? Мне бы хотелось, чтобы различные тесты могли устанавливать аргументы и наблюдать за поведением библиотеки.

Спасибо, Jim

Ответы [ 2 ]

2 голосов
/ 01 сентября 2009

Нашел проблему. Надстройка ReSharper запускает свой TaskRunner.exe для выполнения модульных тестов. Командная строка при вызове TaskRunner не учитывает параметры отладки. JetBrains (производитель) теперь знает об этой проблеме.

2 голосов
/ 28 августа 2009

это не дает прямого ответа на ваш вопрос, но я бы порекомендовал не использовать аргументы командной строки в библиотеке.Аргументы командной строки должны быть проанализированы исполняемым файлом, а затем надлежащие параметры переданы в библиотеку.В случае модульных тестов вы можете просто передать тестовые аргументы.Подумайте об использовании вашей библиотеки в приложении с графическим интерфейсом, где пользователь вводит параметры в форме вместо аргументов командной строки, или о программе, использующей вашу библиотеку дважды двумя различными способами.

...