Поделиться через


Параметры проекта для конфигураций отладки C# (.NET Core, .NET 5+ и ASP.NET Core)

Параметры отладки проекта C# можно изменить на вкладке "Отладка" и на вкладке "Сборка" на страницах свойств проекта.

Чтобы открыть страницы свойств, выберите проект в обозревателе решений , а затем щелкните значок свойств или щелкните проект правой кнопкой мыши и выберите Свойства.

Для получения дополнительной информации см. Конфигурации отладки и релиза.

Важный

Эти параметры не применяются к приложениям .NET Framework или UWP. Сведения о настройке параметров отладки для .NET Framework см. в разделе Параметры проекта для конфигураций отладки C#.

Вкладка отладки

Начиная с Visual Studio 2022 выберите Открыть профили запуска отладки на вкладке "Отладка", чтобы открыть пользовательский интерфейс профилей запуска и изменить параметры отладки.

Профиль запуска (.NET Core, .NET 5+)

Настройка Описание
аргументы командной строки Задает аргументы командной строки для отлаживаемого приложения. Имя команды — это имя приложения, указанное в запуск внешней программы.
рабочий каталог Указывает рабочий каталог отлаживаемого приложения. В C#рабочий каталог \bin\debug по умолчанию.
Использование удаленного компьютера Для удаленной отладки выберите этот параметр и введите имя целевого объекта удаленной отладки или имя сервера Msvsmon.
Расположение приложения на удаленном компьютере указывается свойством пути вывода на вкладке сборки. Расположение должно быть общим каталогом на удаленном компьютере.
переменные среды Задает переменные среды перед запуском процесса приложения. Сведения о ASP.NET Core см. в средах.
Включить неуправляемую отладку кода Отлаживает вызовы нативного (неуправляемого) кода Win32 из управляемого приложения.
Включить отладку SQL Server Отладка объектов базы данных SQL Server.
Включить отладку WebView2 Отладка JavaScript с помощью отладчика на основе Microsoft Edge (Chromium).

Профиль запуска (ASP.NET Core)

Помимо свойств для .NET 5+, профили запуска ASP.NET Core включают дополнительные свойства для различных профилей ASP.NET Core. Эти параметры предоставляют простой пользовательский интерфейс для файла launchSettings.json проекта. Дополнительные сведения об этом файле см. в разделе "Разработка и launchSettings.json" в разделе Использование нескольких сред в ASP.NET Core.

Параметры, указанные в пользовательском интерфейсе профилей запуска, включают следующие параметры.

Настройка Описание
Запуск браузера Выберите, следует ли запускать браузер по умолчанию при запуске отладки, используя URL-адрес, заданный в параметре URL-адреса.
URL-адрес Указывает расположение URL-адреса узла для .NET или .NET Core. Для профиля, названного в честь проекта (то есть, когда свойство commandName в launchSettings.json является Project), сервер Kestrel прослушивает указанный порт. Для профиля IIS обычно это то же значение, что и URL-адрес приложения . Дополнительные сведения см. в разделе профиля запуска IIS в разделе Настройка проекта.
URL-адрес приложения Указывает URL-адреса приложения. Для профиля с именем проекта это свойство задает URL-адреса сервера Kestrel, обычно https://localhost:5001 и http://localhost:5000.

Visual Studio предоставляет профиль IIS Express по умолчанию, и вы можете создавать дополнительные профили, такие как профиль IIS. Эти параметры также соответствуют параметрам в launchSettings.json. Эти два типа профилей предоставляют несколько параметров, таких как модель размещения.

Настройка Описание
Модель размещения Укажите в рамках процесса (по умолчанию) или вне процесса. Дополнительные сведения см. в разделе Модели размещения в документации ASP.NET Core.
SSL URL-адрес приложения Для IIS Express URL-адрес SSL приложения обычно http://localhost:44334.

Вкладка "Сборка"

В следующей таблице показаны параметры сборки, которые полезны для отладки. Полное описание параметров сборки см. в разделе Страница сборки, конструктор проектов.

Настройка Описание
Общие>символы условной компиляции При выборе определите константы DEBUG и TRACE.

Эти константы позволяют выполнить условную компиляцию класса отладки и класса Trace. При определении этих констант методы классов Debug и Trace создают выходные данные в окне вывода. Без этих констант методы класса отладки и трассировки не компилируются, а выходные данные не создаются.

Обычно DEBUG определяется в отладочной версии сборки и не определяется в выпускной версии. TRACE определяется как в версиях отладки, так и в релизных версиях.
Общие>Оптимизация кода Если ошибка не отображается только в оптимизированном коде, оставьте этот параметр без выбора для сборок отладки. Оптимизированный код сложнее отлаживать, так как инструкции не соответствуют непосредственно операторам в исходном коде.
отладочные символы Указывает тип сведений об отладке, созданных компилятором. См. символы отладки. Сведения о настройке производительности отладки приложения см. в разделе Упрощение отладки образа.
выход>базовый выходной путь Указывает базовую папку для промежуточных выходных данных. Результат или вывод обычно направляется в bin\Debug для отладочной сборки.
выходной>базовый промежуточный путь вывода Указывает базовую папку для промежуточных выходных данных. Результаты обычно переходят в obj\Debug для отладочной сборки.

Отладочные символы

Вы можете выбрать следующие параметры для отладочных символов.

  • Символы не излучаются

    Указывает, что данные отладки не будут сгенерированы.

  • PDB-файл, текущая платформа

    Создает .PDB-файл — файл символов, зависящий от платформы, предоставляющий другим инструментам, особенно отладчикам, сведения о том, что находится в основном исполняемом файле и как он был создан.

  • PDB-файл, переносимый

    Создает файл .PDB, платформенно-независимый и переносимый файл символов, предоставляющий другим средствам, особенно отладчикам, сведения о том, что находится в основном исполняемом файле и как он был создан. Для получения дополнительной информации см. переносимый PDB .

  • Встроено в DLL/EXE, переносимые между платформами

    Внедряет переносимые сведения о символах в сборку. Внешний файл .PDB не создается.

Дополнительные сведения см. в /debug (параметры компилятора C#).

См. также