Командная строка разработчика и PowerShell для разработчиков в Visual Studio
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Visual Studio включает две оболочки командной строки для разработчиков, командную строку и экземпляр PowerShell, как показано ниже.
-
Командная строка разработчика для Visual Studio — стандартная командная строка с определенными переменными среды, упрощающая работу с инструментами разработки. Доступно с версии Visual Studio 2015.



Начиная с Visual Studio 2019 Visual Studio включает интегрированный терминал , который может размещать любую из этих оболочк (командная строка разработчика и PowerShell разработчика). Можно открыть несколько вкладок для каждой оболочки. Терминал Visual Studio построен на основе Терминала Windows. Чтобы открыть терминал в Visual Studio, выберите элементы Вид>Терминал.


На этой странице описывается, как использовать оболочки командной строки в Visual Studio. Если вы ищете эквивалент в Visual Studio Code , также известном как VS Code, см. раздел «Интерфейс командной строки» и «Основы терминала».
При запуске в Visual Studio одной из оболочек как отдельного приложения или в окне терминала открывается каталог текущего решения (если оно загружено). Это упрощает выполнение команд для решения или его проектов.
В обеих оболочках заданы определенные переменные среды. Это упрощает работу с инструментами командной строки. Открыв эти оболочки, можно выполнять команды для различных служебных программ, не указывая их расположения.
| Популярные команды | Description |
|---|---|
| MSBuild | Сборка проекта или решения |
| clrver | Инструмент .NET Framework для CLR |
| ildasm | Инструменты .NET Framework для дизассемблера |
| dotnet | Команда CLI .NET |
| dotnet run | Команда CLI .NET |
| CL | Средство компиляции C/C++ |
| NMAKE | Средство компиляции C/C++ |
| LIB | Средство сборки С/C++ |
| DUMPBIN | Средство сборки С/C++ |
Запуск в Visual Studio
Выполните следующие действия, чтобы открыть в Visual Studio Командную строку разработчика или PowerShell для разработчиков:
- Откройте Visual Studio.
- В строке меню выберите элементы Инструменты>Командная строка>Командная строка разработчика или PowerShell для разработчиков.


Запуск из меню Windows
Другой способ запуска оболочек — из меню «Пуск». В зависимости от версии Visual Studio, дополнительно установленных пакетов SDK и рабочих нагрузок может иметься несколько вариантов командных строк.
Windows 11

- Нажмите кнопку «Пуск «, а затем в диалоговом окне «Тип» для поиска введите developer command prompt или . developer powershell
- Выберите для приложения результат, связанный с текстом поиска.
Windows 10

- Нажмите кнопку «Пуск«, а затем прокрутите до буквы V.
- Разверните папку Visual Studio 2019 или Visual Studio 2022.
- Если вы используете Visual Studio 2019, выберите Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. Если используется Visual Studio 2022, выберите Командная строка разработчика для VS 2022 или PowerShell для разработчиков для VS 2022. Кроме того, вы можете начать вводить имя оболочки в поле поиска на панели задач и выбрать нужный результат, так как в списке результатов начнут отображаться найденные совпадения.
Windows 8.1

- Перейдите на начальный экран, нажав клавишу с логотипом Windows на клавиатуре, например.
- На начальном экране нажмите клавиши CTRL+TAB, чтобы открыть список приложений, а затем нажмите клавишу V. Откроется список, содержащий все установленные командные строки Visual Studio.
- Если вы используете Visual Studio 2019, выберите Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. Если используется Visual Studio 2022, выберите Командная строка разработчика для VS 2022 или PowerShell для разработчиков для VS 2022.
Windows 7

- Выберите Пуск а затем разверните Все программы.
- Выберите элементы Visual Studio 2019>Инструменты Visual Studio>Командная строка разработчика для VS 2019 или PowerShell для разработчиков для VS 2019. (Если вы используете Visual Studio 2022, найдите те же элементы, которые содержат «2022» вместо «2019».)
Если установлены другие пакеты SDK, такие как пакет SDK для Windows или предыдущие версии, могут появить дополнительные командные строки. Требуемая версия командной строки указана в документации по соответствующим инструментам.
Запуск из обозревателя файлов
Обычно ярлыки для установленных оболочек помещаются в папку меню «Пуск» для Visual Studio, например в %ProgramData%\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools. Но если поиск командной строки не дает ожидаемых результатов, попробуйте вручную найти нужные файлы на компьютере.
Командная строка разработчика
Найдите имя файла командной строки, который является VsDevCmd.bat, или перейдите в папку «Сервис» для Visual Studio, например %ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools (путь изменяется в соответствии с версией Visual Studio, выпуском и расположением установки).
Когда вы найдете файл командной строки, откройте его. Для этого введите следующую команду в стандартном окне командной строки:
"%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
Кроме того, вы можете ввести следующую команду в диалоговом окне Windows Выполнить:
%comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
Кроме того, вы можете ввести следующую команду в диалоговом окне Windows Выполнить:
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
Обязательно измените путь, чтобы соответствовать используемой версии или выпуску Visual Studio.
PowerShell для разработчиков
Найдите файл скрипта PowerShell с именем Launch-VsDevShell.ps1 или перейдите в папку «Инструменты» Visual Studio (%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools). (Путь изменяется в соответствии с версией Visual Studio, выпуском и расположением установки.) Разместив файл PowerShell, запустите его, введя следующую команду в командной строке Windows PowerShell или PowerShell 6.
Для Visual Studio 2019:
& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Launch-VsDevShell.ps1'
Для Visual Studio 2022:
& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1'
По умолчанию PowerShell для разработчиков запускается с конфигурацией для той версии Visual Studio, путь установки к которой указан в файле Launch-VsDevShell.ps1.
Сценарий Launch-VsDevShell.ps1 работает путем поиска Microsoft.VisualStudio.DevShell.dll модуля PowerShell в пути установки Visual Studio, его загрузки и вызова командлета Enter-VsDevShell . Установленные сочетания клавиш, например в меню , загружают модуль и вызывают командлет напрямую. Использование Launch-VsDevShell.ps1 — это рекомендуемый способ инициализации PowerShell для разработчиков в интерактивном режиме или автоматизации сборки скрипта.
Аргументы командной строки
Можно использовать аргументы командной строки для любой из оболочек, «Командная строка разработчика» или «PowerShell для разработчика».
Целевая архитектура и архитектура узла
Для средств сборки (таких как компилятор C++), которые создают выходные данные, предназначенные для конкретных архитектур ЦП, оболочки разработки можно настроить с помощью определенного аргумента командной строки. Архитектуру двоичных файлов средства сборки также можно настроить с помощью аргументов командной строки. Это полезно, если архитектура компьютера сборки отличается от целевой архитектуры.
Начиная с Visual Studio 2022, для msbuild по умолчанию будет использоваться 64-разрядный двоичный файл msbuild.exe, независимо от архитектуры узла.
| Shell | Аргумент |
|---|---|
| Командная строка разработчика | -arch= |
| Командная строка разработчика | -host_arch= |
| PowerShell для разработчиков | -Arch |
| PowerShell для разработчиков | -HostArch |
Аргументы -Arch и -HostArch в PowerShell для разработчика доступны только начиная с версии Visual Studio 2022 с обновлением 17.1.
Ниже приведена таблица со списком поддерживаемых архитектур. В нем также указано, можно ли их использовать для аргументов целевой архитектуры или архитектуры узла.
| Архитектура | Целевая архитектура | Архитектура узла |
|---|---|---|
| x86 | По умолчанию | По умолчанию |
| amd64 | Да | Да |
| arm | Да | No |
| arm64 | Да | No |
Если задана только целевая архитектура, оболочки будут пытаться сопоставить с ней архитектуру узла. Поэтому, если настроена только целевая архитектура со значением, не поддерживаемым для архитектуры узла, могут возникнуть ошибки.
Примеры
Запустите Командную строку разработчика для Visual Studio 2019 Community Edition на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для 64-разрядной архитектуры:
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64
Запустите Командную строку разработчика для Visual Studio 2019 Community Edition на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для ARM:
"%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=arm -host_arch=amd64
Запустите PowerShell для разработчиков для версии Community Edition Visual Studio 2022 17.1 или более поздней версии на 64-разрядном компьютере, создав выходные данные сборки, предназначенные для arm64:
& 'C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1' -Arch arm64 -HostArch amd64
SkipAutomaticLocation
Начальный каталог оболочки PowerShell для разработчика — это расположение проекта Visual Studio. Этот язык по умолчанию переопределяет все остальные пути, например к рабочему каталогу. Такое поведение можно отключить с помощью аргумента командной строки -SkipAutomaticLocation . Это полезно, если, например, вы хотите, чтобы в оболочке использовался текущий каталог после инициализации.
Расположение проекта можно настроить в меню Средства>Параметры>Проекты &и решения>Расположение проекта.
Аргументы -Arch командной строки и -SkipAutomaticLocation поддерживаются как скриптом Launch-VsDevShell.ps1 , -HostArch так и командлетом Enter-VsDevShell .
См. также
- Терминал Windows
- Инструменты .NET Framework
- Использование набора инструментов C++ Microsoft из командной строки
Руководство. Создание консольного приложения .NET с помощью Visual Studio
В этом руководстве показано, как создать и запустить консольное приложение .NET с помощью Visual Studio 2022.
Предварительные условия
- Предварительная версия Visual Studio 2022 с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 8 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.
Создание приложения
Создайте проект консольного приложения .NET с именем HelloWorld.
- Запустите Visual Studio 2022.
- На начальной странице выберите Создать проект.

- На странице Создание проекта введите в поле поиска консоль. Затем выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон консольного приложения и нажмите кнопку «Далее«.
Совет Если вы не видите шаблоны .NET, вероятно, у вас не установлена требуемая рабочая нагрузка. В сообщении Не удается найти то, что ищете? выберите ссылку Установка других средств и компонентов. Откроется Visual Studio Installer. Убедитесь, что у вас установлена рабочая нагрузка Разработка классических приложений .NET.

- Выберите .NET 8 (предварительная версия).
- Выберите «Не использовать операторы верхнего уровня».
- Выберите Создать.
Шаблон создает простое приложение, отображающее «Hello, World!» в окне консоли. Код находится в файле Program.cs или Program.vb:
namespace HelloWorld; internal class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >>
Imports System Module Program Sub Main(args As String()) Console.WriteLine("Hello World!") End Sub End Module
Если нужный язык не отображается, измените выбор языка в верхней части страницы.
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
C# имеет функцию с именем операторов верхнего уровня, которая позволяет опустить Program класс и Main метод. В этом руководстве эта функция не используется. Независимо от того, используете ли вы его в программах, это вопрос предпочтения стиля.
Выполнить приложение

- Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки. Откроется окно консоли с текстом «Hello, World!» на экране. (Или «Hello World!» без запятой в шаблоне проекта Visual Basic.)
- Для закрытия окна консоли нажмите любую клавишу.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
-
В Program.cs или Program.vb замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true);
Console.WriteLine("What is your name?") Dim name = Console.ReadLine() Dim currentDate = DateTime.Now Console.WriteLine($"Hello, , on at ") Console.Write($"Press any key to exit. ") Console.ReadKey(True)

Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем. Environment.NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic. Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
Дополнительные ресурсы
- Выпуски стандартной поддержки (STS) и долгосрочные выпуски поддержки (LTS).
Далее
В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.
В этом руководстве показано, как создать и запустить консольное приложение .NET с помощью Visual Studio 2022.
Предварительные условия
- Visual Studio 2022 версии 17.4 или более поздней версии с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 7 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.
Создание приложения
Создайте проект консольного приложения .NET с именем HelloWorld.
- Запустите Visual Studio 2022.
- На начальной странице выберите Создать проект.

- На странице Создание проекта введите в поле поиска консоль. Затем выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон консольного приложения и нажмите кнопку «Далее«.
Совет Если вы не видите шаблоны .NET, вероятно, у вас не установлена требуемая рабочая нагрузка. В сообщении Не удается найти то, что ищете? выберите ссылку Установка других средств и компонентов. Откроется Visual Studio Installer. Убедитесь, что у вас установлена рабочая нагрузка Разработка классических приложений .NET.

- Выберите .NET 7 (поддержка со стандартным термином).
- Выберите «Не использовать операторы верхнего уровня».
- Выберите Создать.
Шаблон создает простое приложение, отображающее «Hello, World!» в окне консоли. Код находится в файле Program.cs или Program.vb:
namespace HelloWorld; internal class Program < static void Main(string[] args) < Console.WriteLine("Hello, World!"); >>
Imports System Module Program Sub Main(args As String()) Console.WriteLine("Hello World!") End Sub End Module
Если нужный язык не отображается, измените выбор языка в верхней части страницы.
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
В последней версии C# новая используются операторы верхнего уровня, которые позволяют игнорировать класс Program и метод Main . Большинство существующих программ на C# не используют операторы верхнего уровня, поэтому в этом руководстве эта новая функция не используется. Но она доступна в C# 10, и то, используете ли вы ее в своих программах, зависит от стилистических предпочтений.
Выполнить приложение

- Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки. Откроется окно консоли с текстом «Hello, World!» на экране. (Или «Hello World!» без запятой в шаблоне проекта Visual Basic.)
- Для закрытия окна консоли нажмите любую клавишу.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
-
В Program.cs или Program.vb замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true);
Console.WriteLine("What is your name?") Dim name = Console.ReadLine() Dim currentDate = DateTime.Now Console.WriteLine($"Hello, , on at ") Console.Write($"Press any key to exit. ") Console.ReadKey(True)

Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем. Environment.NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic. Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
Дополнительные ресурсы
Далее
В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.
В этом руководстве показано, как создать и запустить консольное приложение .NET с помощью Visual Studio 2022.
Предварительные условия
- Visual Studio 2022 версии 17.1 или более поздней версии с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 6 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.
Создание приложения
Создайте проект консольного приложения .NET с именем HelloWorld.
- Запустите Visual Studio 2022.
- На начальной странице выберите Создать проект.

- На странице Создание проекта введите в поле поиска консоль. Затем выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Консольное приложение и нажмите Далее.
Совет Если вы не видите шаблоны .NET, вероятно, у вас не установлена требуемая рабочая нагрузка. В сообщении Не удается найти то, что ищете? выберите ссылку Установка других средств и компонентов. Откроется Visual Studio Installer. Убедитесь, что у вас установлена рабочая нагрузка Разработка классических приложений .NET.

Console.WriteLine("Hello, World!");
Imports System Module Program Sub Main(args As String()) Console.WriteLine("Hello World!") End Sub End Module
namespace HelloWorld < class Program < static void Main(string[] args) < Console.WriteLine("Hello World!"); >> >
' This step of the tutorial applies only to C#.
Выполнить приложение

- Нажмите клавиши CTRL + F5 , чтобы запустить программу без отладки. Откроется окно консоли с текстом «Hello World!» на экране.
- Для закрытия окна консоли нажмите любую клавишу.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
-
В Program.cs или Program.vb замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Console.WriteLine("What is your name?"); var name = Console.ReadLine(); var currentDate = DateTime.Now; Console.WriteLine($"Hello, , on at !"); Console.Write($"Press any key to exit. "); Console.ReadKey(true);
Console.WriteLine("What is your name?") Dim name = Console.ReadLine() Dim currentDate = DateTime.Now Console.WriteLine($"Hello, , on at ") Console.Write($"Press any key to exit. ") Console.ReadKey(True)

Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем. Environment.NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic. Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
Дополнительные ресурсы
Далее
В этом учебнике показано, как создать консольное приложение .NET. В следующем учебнике описывается отладка приложения.
Консоль разработчика Windows
Так что в ней будут работать все те же быстрые клавиши, что и в cmd.
Tab | Автозавершение имени объекта файловой системы. ↓ / ↑ | Перемещение по истории команд. F1,F1,F1 | Повторение символов предыдущей команды одного за другим. F2 Z | Повторение части предыдущей команды; вплоть до символа Z F3 | Повторение предыдущей команды F4 Z | Начиная от текущей позиции курсора, удалить часть команды вплоть до символа Z. F5 | Перемещение по истории команд (↑). F7 | История последних команд. ALT+F7 | Очистка истории команд F8 | Перемещение по истории команд назад, но только по тем командам, которые начинаются с введённого в командную строку текста. F9 | Воспроизведение команды по порядковому номеру из истории команд. ESC | Очищение строки ввода / Закрытие модального окна. INSERT | Переключение между режимами Insert/Overwrite Ctrl+Home | Стереть часть строки слева. Ctrl+End | Стереть часть строки справа. Ctrl+← | Перемещение курсора на одно слово влево (назад) Ctrl+→ | Перемещение курсора на одно слово вправо (вперёд) ⌫ | Стереть символ слева. Home | Перемещение к началу строки. End | Перемещение к концу строки. ⇧+PgUp | Прокрутка окна Вверх* ⇧+PgDn | Прокрутка окна Вниз* Ctrl+C | Отменить выполнение команды. Ctrl+Z | Сигнал конца файла.
* Может не работать в некоторых версиях Windows XP.
Спонсор быстрых клавиш: SS64.
Руководство. Отладка консольного приложения .NET с помощью Visual Studio
В этом руководстве представлены средства отладки, доступные в Visual Studio.
Все сочетания клавиш основаны на значениях по умолчанию из Visual Studio. Сочетания клавиш могут отличаться. Дополнительные сведения см. в разделе «Сочетания клавиш» в Visual Studio.
Предварительные условия
- В этом руководстве используется консольное приложение, созданное в руководстве Создание консольного приложения .NET в Visual Studio.
Использование конфигурации отладочной сборки
В Visual Studio используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.
В отладочной конфигурации программы компилируется с полной символической отладочной информацией и без оптимизации. Оптимизация усложняет отладку, поскольку усложняется связь между исходным кодом и сгенерированными инструкциями. Конфигурация для выпуска полностью оптимизирована и не содержит символической отладочной информации.
По умолчанию Visual Studio использует отладочную конфигурацию сборки, поэтому ее не нужно изменять перед отладкой.

- Запустите среду Visual Studio.
- Откройте проект, созданный по инструкциям из статьи Создание консольного приложения .NET в Visual Studio. Используемая конфигурация сборки отображается на панели инструментов. На следующем изображении панели инструментов показано, что служба Visual Studio настроена для компиляции отладочной версии приложения:
Установка точки останова
Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.
- Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна изменения кода в этой строке. Левое поле находится слева от номеров строк. Кроме того, установить точку останова можно, поместив курсор в строку кода и нажав клавишу F9 или выбрав Отладка>Переключить точку останова в строке меню. Как видно на следующем рисунке, строку с точкой останова Visual Studio обозначает подсветкой текста и красной точкой в левом поле.

- Нажмите клавишу F5 , чтобы запустить программу в режиме отладки. Еще один способ запуска отладки — выбрать в меню параметры Отладка>Начать отладку.
- Когда программа запросит имя, введите любую строку в окне консоли и нажмите клавишу ВВОД .
- Выполнение программы остановится, когда будет достигнута точка останова, то есть перед выполнением метода Console.WriteLine . В окне Локальные отображаются значения переменных, которые определены в текущем выполняемом методе.

Использование окна «Интерпретация»
Окно Интерпретация позволяет взаимодействовать с приложением, которое вы отлаживаете. Вы можете интерактивно изменить значения переменных и посмотреть, как это повлияет на работу программы.
- Если окно Интерпретация не отображается, откройте его, выбрав Отладка>Окна>Интерпретация.
- Введите name = «Gracie» в окне Интерпретация и нажмите клавишу ВВОД .
- Введите currentDate = DateTime.Parse(«2019-11-16T17:25:00Z»).ToUniversalTime() в окне Интерпретация и нажмите клавишу ВВОД . В окне Интерпретация отображается значение переменной строки и свойства значения DateTime. Кроме того, значения переменных обновляются в окне Локальные.

- Нажмите клавишу F5 , чтобы продолжить выполнение программы. Или выберите Отладка>Продолжить в меню. Значения, отображаемые в окне консоли, соответствуют изменениям, произведенным в окне Интерпретация.

- Нажмите любую клавишу, чтобы выйти из приложения и остановить отладку.
Установка условной точки останова
Программа отображает строку, которую вводит пользователь. Что произойдет, если пользователь ничего не введет? Это можно проверить с помощью полезной функции отладки, которая называется условной точкой останова.

- Щелкните правой кнопкой мыши красную точку, обозначающую точку останова. В контекстном меню выберите Условия. Откроется диалоговое окно Параметры точки останова. Установите флажок Условия, если он еще не установлен.
- Для условного выражения введите следующий код в поле, где приведен пример кода, который проверяет, имеет ли x значение 5.
string.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
? name == String.Empty
? String.IsNullOrEmpty(name)

Вопросительный знак указывает окну интерпретации на необходимость вычислить выражение.
Пошаговое выполнение программы
Visual Studio позволяет выполнять программу пошагово, отслеживая результат ее выполнения. Для этого обычно задают точку останова и запускают программу в небольшой части ее кода. Поскольку наша программа невелика, давайте выполним ее пошагово.
- Выберите Отладка>Шаг с заходом. Или выполните отладку по одному оператору, нажимая клавишу F11 . Следующая выполняемая строка будет выделена, и рядом с ней появится стрелка. C#
Visual Basic
На этом этапе в окне Локальные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию. Кроме того, Visual Studio открыла пустое окно консоли. - Нажмите клавишу F11 . Будет выделена следующая выполняемая строка. Окно Локальные не изменяется, и окно консоли остается пустым. C#
Visual Basic 
- Нажмите клавишу F11 . Visual Studio подсвечивает инструкцию, которая содержит присваивание значения переменной name . В окне Локальные отображается, что name имеет значение null , а в окне консоли появилась строка What is your name? (Введите имя:).
- Ответьте на этот запрос, введя строку в окно консоли и нажав клавишу ВВОД . Консоль никак не отреагирует на это, и введенная строка не будет отображаться в окне консоли, но метод Console.ReadLine получит введенные входные данные.
- Нажмите клавишу F11 . Visual Studio подсвечивает инструкцию, которая содержит присваивание значения переменной currentDate . В окне Локальные отображается значение, полученное в результате вызова метода Console.ReadLine. В окне консоли также отображается строка, указанная в командной строке.
- Нажмите клавишу F11 . В окне Локальные отображается значение переменной currentDate , которому было присвоено свойство DateTime.Now. В окне консоли изменений не произошло.
- Нажмите клавишу F11 . Visual Studio вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.
- Выберите шаг отладки>. Другим способом остановки пошагового выполнения является нажатие клавиш SHIFT +F11. В окне консоли отображается сообщение с предложением нажать любую клавишу для выхода.
- Нажмите любую клавишу, чтобы закрыть окно консоли и остановить отладку.
Использование конфигурации сборки для выпуска
После тестирования отладочной версии приложения следует скомпилировать и протестировать версию в режиме выпуска. При сборке в режиме выпуска компилятор использует методы оптимизации, которые иногда могут негативно повлиять на поведение приложения. Например, оптимизации компилятора для повышения производительности могут привести к состоянию конкуренции в многопоточных приложениях.
Чтобы собрать и протестировать консольное приложение в режиме выпуска, переключите конфигурацию сборки из режима Отладка в режим Выпуск на панели инструментов.

Если нажать клавишу F5 или выбрать пункт Собрать решение в меню Сборка, Visual Studio скомпилирует версию приложения в режиме выпуска. Эту версию можно протестировать точно так же, как и отладочную.
Далее
В этом руководстве вы использовали средства отладки Visual Studio. В следующем руководстве вы опубликуете развертываемую версию приложения.
В этом руководстве представлены средства отладки, доступные в Visual Studio.
Все сочетания клавиш основаны на значениях по умолчанию из Visual Studio. Сочетания клавиш могут отличаться. Дополнительные сведения см. в разделе «Сочетания клавиш» в Visual Studio.
Предварительные условия
- В этом руководстве используется консольное приложение, созданное в руководстве Создание консольного приложения .NET в Visual Studio.
Использование конфигурации отладочной сборки
В Visual Studio используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.
В отладочной конфигурации программы компилируется с полной символической отладочной информацией и без оптимизации. Оптимизация усложняет отладку, поскольку усложняется связь между исходным кодом и сгенерированными инструкциями. Конфигурация для выпуска полностью оптимизирована и не содержит символической отладочной информации.
По умолчанию Visual Studio использует отладочную конфигурацию сборки, поэтому ее не нужно изменять перед отладкой.

- Запустите среду Visual Studio.
- Откройте проект, созданный по инструкциям из статьи Создание консольного приложения .NET в Visual Studio. Используемая конфигурация сборки отображается на панели инструментов. На следующем изображении панели инструментов показано, что служба Visual Studio настроена для компиляции отладочной версии приложения:
Установка точки останова
Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.
- Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна изменения кода в этой строке. Левое поле находится слева от номеров строк. Кроме того, установить точку останова можно, поместив курсор в строку кода и нажав клавишу F9 или выбрав Отладка>Переключить точку останова в строке меню. Как видно на следующем рисунке, строку с точкой останова Visual Studio обозначает подсветкой текста и красной точкой в левом поле.

- Нажмите клавишу F5 , чтобы запустить программу в режиме отладки. Еще один способ запуска отладки — выбрать в меню параметры Отладка>Начать отладку.
- Когда программа запросит имя, введите любую строку в окне консоли и нажмите клавишу ВВОД .
- Выполнение программы остановится, когда будет достигнута точка останова, то есть перед выполнением метода Console.WriteLine . В окне Локальные отображаются значения переменных, которые определены в текущем выполняемом методе.

Использование окна «Интерпретация»
Окно Интерпретация позволяет взаимодействовать с приложением, которое вы отлаживаете. Вы можете интерактивно изменить значения переменных и посмотреть, как это повлияет на работу программы.
- Если окно Интерпретация не отображается, откройте его, выбрав Отладка>Окна>Интерпретация.
- Введите name = «Gracie» в окне Интерпретация и нажмите клавишу ВВОД .
- Введите currentDate = DateTime.Parse(«2019-11-16T17:25:00Z»).ToUniversalTime() в окне Интерпретация и нажмите клавишу ВВОД . В окне Интерпретация отображается значение переменной строки и свойства значения DateTime. Кроме того, значения переменных обновляются в окне Локальные.

- Нажмите клавишу F5 , чтобы продолжить выполнение программы. Или выберите Отладка>Продолжить в меню. Значения, отображаемые в окне консоли, соответствуют изменениям, произведенным в окне Интерпретация.

- Нажмите любую клавишу, чтобы выйти из приложения и остановить отладку.
Установка условной точки останова
Программа отображает строку, которую вводит пользователь. Что произойдет, если пользователь ничего не введет? Это можно проверить с помощью полезной функции отладки, которая называется условной точкой останова.

- Щелкните правой кнопкой мыши красную точку, обозначающую точку останова. В контекстном меню выберите Условия. Откроется диалоговое окно Параметры точки останова. Установите флажок Условия, если он еще не установлен.
- Для условного выражения введите следующий код в поле, где приведен пример кода, который проверяет, имеет ли x значение 5.
string.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
? name == String.Empty
? String.IsNullOrEmpty(name)

Вопросительный знак указывает окну интерпретации на необходимость вычислить выражение.
Пошаговое выполнение программы
Visual Studio позволяет выполнять программу пошагово, отслеживая результат ее выполнения. Для этого обычно задают точку останова и запускают программу в небольшой части ее кода. Поскольку наша программа невелика, давайте выполним ее пошагово.
- Выберите Отладка>Шаг с заходом. Или выполните отладку по одному оператору, нажимая клавишу F11 . Следующая выполняемая строка будет выделена, и рядом с ней появится стрелка. C#
Visual Basic
На этом этапе в окне Локальные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию. Кроме того, Visual Studio открыла пустое окно консоли. - Нажмите клавишу F11 . Будет выделена следующая выполняемая строка. Окно Локальные не изменяется, и окно консоли остается пустым. C#
Visual Basic 
- Нажмите клавишу F11 . Visual Studio подсвечивает инструкцию, которая содержит присваивание значения переменной name . В окне Локальные отображается, что name имеет значение null , а в окне консоли появилась строка What is your name? (Введите имя:).
- Ответьте на этот запрос, введя строку в окно консоли и нажав клавишу ВВОД . Консоль никак не отреагирует на это, и введенная строка не будет отображаться в окне консоли, но метод Console.ReadLine получит введенные входные данные.
- Нажмите клавишу F11 . Visual Studio подсвечивает инструкцию, которая содержит присваивание значения переменной currentDate . В окне Локальные отображается значение, полученное в результате вызова метода Console.ReadLine. В окне консоли также отображается строка, указанная в командной строке.
- Нажмите клавишу F11 . В окне Локальные отображается значение переменной currentDate , которому было присвоено свойство DateTime.Now. В окне консоли изменений не произошло.
- Нажмите клавишу F11 . Visual Studio вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.
- Выберите шаг отладки>. Другим способом остановки пошагового выполнения является нажатие клавиш SHIFT +F11. В окне консоли отображается сообщение с предложением нажать любую клавишу для выхода.
- Нажмите любую клавишу, чтобы закрыть окно консоли и остановить отладку.
Использование конфигурации сборки для выпуска
После тестирования отладочной версии приложения следует скомпилировать и протестировать версию в режиме выпуска. При сборке в режиме выпуска компилятор использует методы оптимизации, которые иногда могут негативно повлиять на поведение приложения. Например, оптимизации компилятора для повышения производительности могут привести к состоянию конкуренции в многопоточных приложениях.
Чтобы собрать и протестировать консольное приложение в режиме выпуска, переключите конфигурацию сборки из режима Отладка в режим Выпуск на панели инструментов.

Если нажать клавишу F5 или выбрать пункт Собрать решение в меню Сборка, Visual Studio скомпилирует версию приложения в режиме выпуска. Эту версию можно протестировать точно так же, как и отладочную.
Далее
В этом руководстве вы использовали средства отладки Visual Studio. В следующем руководстве вы опубликуете развертываемую версию приложения.
В этом руководстве представлены средства отладки, доступные в Visual Studio.
Предварительные условия
- В этом руководстве используется консольное приложение, созданное в руководстве Создание консольного приложения .NET в Visual Studio.
Использование конфигурации отладочной сборки
В Visual Studio используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.
В отладочной конфигурации программы компилируется с полной символической отладочной информацией и без оптимизации. Оптимизация усложняет отладку, поскольку усложняется связь между исходным кодом и сгенерированными инструкциями. Конфигурация для выпуска полностью оптимизирована и не содержит символической отладочной информации.
По умолчанию Visual Studio использует отладочную конфигурацию сборки, поэтому ее не нужно изменять перед отладкой.

- Запустите среду Visual Studio.
- Откройте проект, созданный по инструкциям из статьи Создание консольного приложения .NET в Visual Studio. Используемая конфигурация сборки отображается на панели инструментов. На следующем изображении панели инструментов показано, что служба Visual Studio настроена для компиляции отладочной версии приложения:
Установка точки останова
Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.
- Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна изменения кода в этой строке. Левое поле находится слева от номеров строк. Кроме того, установить точку останова можно, поместив курсор в строку кода и нажав клавишу F9 или выбрав Отладка>Переключить точку останова в строке меню. Как видно на следующем рисунке, строку с точкой останова Visual Studio обозначает подсветкой текста и красной точкой в левом поле.

- Нажмите клавишу F5 , чтобы запустить программу в режиме отладки. Еще один способ запуска отладки — выбрать в меню параметры Отладка>Начать отладку.
- Когда программа запросит имя, введите любую строку в окне консоли и нажмите клавишу ВВОД .
- Выполнение программы остановится, когда будет достигнута точка останова, то есть перед выполнением метода Console.WriteLine . В окне Локальные отображаются значения переменных, которые определены в текущем выполняемом методе.

Использование окна «Интерпретация»
Окно Интерпретация позволяет взаимодействовать с приложением, которое вы отлаживаете. Вы можете интерактивно изменить значения переменных и посмотреть, как это повлияет на работу программы.
- Если окно Интерпретация не отображается, откройте его, выбрав Отладка>Окна>Интерпретация.
- Введите name = «Gracie» в окне Интерпретация и нажмите клавишу ВВОД .
- Введите currentDate = DateTime.Parse(«2019-11-16T17:25:00Z»).ToUniversalTime() в окне Интерпретация и нажмите клавишу ВВОД . В окне Интерпретация отображается значение переменной строки и свойства значения DateTime. Кроме того, значения переменных обновляются в окне Локальные.

- Нажмите клавишу F5 , чтобы продолжить выполнение программы. Или выберите Отладка>Продолжить в меню. Значения, отображаемые в окне консоли, соответствуют изменениям, произведенным в окне Интерпретация.

- Нажмите любую клавишу, чтобы выйти из приложения и остановить отладку.
Установка условной точки останова
Программа отображает строку, которую вводит пользователь. Что произойдет, если пользователь ничего не введет? Это можно проверить с помощью полезной функции отладки, которая называется условной точкой останова.

- Щелкните правой кнопкой мыши красную точку, обозначающую точку останова. В контекстном меню выберите Условия. Откроется диалоговое окно Параметры точки останова. Установите флажок Условия, если он еще не установлен.
- Для условного выражения введите следующий код в поле, где приведен пример кода, который проверяет, имеет ли x значение 5.
String.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
? name == String.Empty
? String.IsNullOrEmpty(name)

Вопросительный знак указывает окну интерпретации на необходимость вычислить выражение.
Пошаговое выполнение программы
Visual Studio позволяет выполнять программу пошагово, отслеживая результат ее выполнения. Для этого обычно задают точку останова и запускают программу в небольшой части ее кода. Поскольку наша программа невелика, давайте выполним ее пошагово. Несмотря на то, что в настоящее время не выполняется отладка, основное внимание уделяется Visual Studio:
- Выберите Отладка>Шаг с заходом. Или выполните отладку по одному оператору, нажимая клавишу F11 . Следующая выполняемая строка будет выделена, и рядом с ней появится стрелка. C#
Visual Basic
На этом этапе в окне Локальные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию. Кроме того, Visual Studio открыла пустое окно консоли. - Нажмите клавишу F11 . Будет выделена следующая выполняемая строка. Окно Локальные не изменяется, и окно консоли остается пустым. C#
Visual Basic 
- Нажмите клавишу F11 . Visual Studio подсвечивает инструкцию, которая содержит присваивание значения переменной name . В окне Локальные отображается, что name имеет значение null , а в окне консоли появилась строка What is your name? (Введите имя:).
- Ответьте на этот запрос, введя строку в окно консоли и нажав клавишу ВВОД . Консоль никак не отреагирует на это, и введенная строка не будет отображаться в окне консоли, но метод Console.ReadLine получит введенные входные данные.
- Нажмите клавишу F11 . Visual Studio подсвечивает инструкцию, которая содержит присваивание значения переменной currentDate . В окне Локальные отображается значение, полученное в результате вызова метода Console.ReadLine. В окне консоли также отображается строка, указанная в командной строке.
- Нажмите клавишу F11 . В окне Локальные отображается значение переменной currentDate , которому было присвоено свойство DateTime.Now. В окне консоли изменений не произошло.
- Нажмите клавишу F11 . Visual Studio вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.
- Выберите шаг отладки>. Другим способом остановки пошагового выполнения является нажатие клавиш SHIFT +F11. В окне консоли отображается сообщение с предложением нажать любую клавишу для выхода.
- Нажмите любую клавишу, чтобы закрыть окно консоли и остановить отладку.
Использование конфигурации сборки для выпуска
После тестирования отладочной версии приложения следует скомпилировать и протестировать версию в режиме выпуска. При сборке в режиме выпуска компилятор использует методы оптимизации, которые иногда могут негативно повлиять на поведение приложения. Например, оптимизации компилятора для повышения производительности могут привести к состоянию конкуренции в многопоточных приложениях.
Чтобы собрать и протестировать консольное приложение в режиме выпуска, переключите конфигурацию сборки из режима Отладка в режим Выпуск на панели инструментов.

Если нажать клавишу F5 или выбрать пункт Собрать решение в меню Сборка, Visual Studio скомпилирует версию приложения в режиме выпуска. Эту версию можно протестировать точно так же, как и отладочную.
Далее
В этом руководстве вы использовали средства отладки Visual Studio. В следующем руководстве вы опубликуете развертываемую версию приложения.
