Учебники по Visual Studio | Visual Basic
Создавайте приложения на Visual Basic в среде Visual Studio.
Начать
Практическое руководство
Начало работы
Создание приложений на Visual Basic
Учебник
- Создание консольного приложения
- Создание классического приложения Windows
- Создание приложения Windows Forms
- Сведения о языке Visual Basic
Знакомство с Visual Studio
Учебник
- Открытие кода из репозитория
- Создание и редактирование кода
- Компиляция и сборка
- Отладка кода
- Тестирование кода
Практическое руководство
- Светлая
- Темная
- Высокая контрастность
- Предыдущие версии
- Блог
- Участие в доработке
- Конфиденциальность
- Условия использования
- Товарные знаки
- © Microsoft 2023
- Светлая
- Темная
- Высокая контрастность
- Предыдущие версии
- Блог
- Участие в доработке
- Конфиденциальность
- Условия использования
- Товарные знаки
- © Microsoft 2023
Обучение кодированию в Visual Studio
Чтобы разработать приложение любого типа или изучить язык, вы будете работать в интегрированной среде разработки Visual Studio (IDE). Помимо изменения кода, Visual Studio IDE объединяет графические конструкторы, компиляторы, средства завершения кода, системы управления версиями, расширения и многие другие функции в одном месте.
Просмотрите это короткое видео, чтобы ознакомиться с интегрированной средой разработки и узнать, как использовать ее для базовых задач.
Скачать и установить последнюю версию Visual Studio, чтобы начать работу. Visual Studio предоставляется бесплатно для изучения и индивидуального использования. Вы можете сократить время установки и сэкономить место на диске, выбрав только компоненты нужные. При необходимости вы можете постепенно добавлять другие компоненты позже в любое время.
Использование Visual Basic для приложений в Outlook
Visual Basic для приложений (VBA) упрощает управление Microsoft Outlook непосредственно в Microsoft Outlook. С помощью VBA в Outlook вы можете создавать макросы, которые автоматически выполняют сложные и повторяющиеся задачи. Вы также можете разработать код программы, который запускаются в ответ на события Outlook, позволяя автоматизировать часто выполняемые задачи (например, расположение окон при запуске Outlook).
Visual Basic для приложений позволяет вам пользоваться почти всеми преимуществами объектной модели Outlook, включая самый широкий диапазон событий на уровне приложения, без необходимости вызова внешнего приложения (например, другого приложения Microsoft Office или приложения, разработанного с помощью Microsoft Visual Basic). И в отличие от скриптов, разработанных с использованием языка сценариев VBScript, код Outlook в Visual Basic для приложений всегда доступен в приложении; элемент не должен быть открыт для выполнения указанного кода.
Весь код Outlook в Visual Basic для приложений содержится в проекте. Проекта привязывается к определенному пользователю, поэтому все пользователи, запускающие Outlook на компьютере, могут настроить Outlook в соответствии с их нуждами. Проект может содержать модули кода и модулях форм пользователя (обратите внимание, что модули форм пользователя — это не то же самое, что и формы Outlook).
Редактор Visual Basic позволяет создавать и удалять модули, разрабатывать модули форм пользователя или редактировать код в модулях. Данные редактор предоставляет целый ряд полезных инструментов, включая встроенный обозреватель объектов и отладчик, упрощая разработку кода и устранение проблем кодом. Вы можете даже использовать редактор Visual Basic в Outlook, чтобы разрабатывать и тестировать код, который можно скопировать в автономное приложение Visual Basic или в другое приложение Microsoft Office.
Управление несколькими проектами Visual Basic для приложений
Outlook в настоящий момент поддерживает только один проект Visual Basic для приложений, Проект1. Вы не сможете добавить и запустить в редакторе Visual Basic другой проект одновременно. Project1 хранится на вашем жестком диске в виде VbaProject.OTM; каждый пользователь на одном компьютере может иметь копию VbaProject.OTM, сохраненную для него или для нее. На компьютере под управлением Windows XP VbaProject.OTM находится в :\Documents and Settings\Application Data\Microsoft\Outlook.
Так как вы можете запустить только один проект Visual Basic для приложений за раз, прежде чем запускать другой проект, необходимо выйти из Outlook, переименовать текущий файл VbaProject.OTM, назвать проект, который вы хотите запустить как VbaProject.OTM и перезапустить Outlook, чтобы запустить нужный вам новый проект. При необходимости вы можете также вручную интегрировать проекты для создания одного VbaProject.OTM, что позволит избежать необходимости наименования и переименования файлов.
Код Outlook в Visual Basic для приложений был разработан для создания личной среды для разработки макросов и не предназначен для развертывания или распространения. Чтобы переместить проект с одного компьютера на другой, например, переместить проект с рабочего компьютера на домашний компьютер, вы можете экспортировать формы и модули кода с рабочего компьютера и импортировать их на домашний компьютер. Кроме того, можно также скопировать и вставить исходный код проекта в Project1 на домашнем компьютере с помощью редактора Visual Basic.
Если вы разрабатываете решение, которое планируется для использования несколькими людьми, следует преобразовать ваш код Visual Basic для приложений в надстройку Outlook COM. Однако, разработка надстройки COM обычно требует значительно больших знаний программирования по сравнению с коротким макросом, поэтому если ваш проект Visual Basic для приложений относительно простой, и не слишком много людей будут использовать его, вы можете отправить им код с инструкциями о том, как ее настроить.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Создание и отладка выполняющегося кода с помощью Горячей перезагрузки в Visual Studio (C#, Visual Basic, C++)
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Начиная с Visual Studio 2022, Горячая перезагрузки в Visual Studio работает как для управляемых приложений .NET, так и для собственных приложений C++. В зависимости от типа приложения, над которым вы работаете, цель Горячей перезагрузки заключается в том, чтобы максимально уменьшить количество перезапусков приложения после изменений. Это позволяет повысить продуктивность, уменьшить время, затрачиваемое на ожидание перестроения и перезапуска приложений, а также на возврат к точке в приложении, на которой вы ранее остановились, и т. д.
Это достигается за счет того, что вы можете изменить файлы кода приложения и немедленно применить изменения к выполняющемуся приложению, что также известно как Горячая перезагрузка. После применения изменений вы повторно исполняете код, выполнив действие в самом приложении (или с помощью определенного таймера и т. п.), а затем немедленно просматриваете изменения. При этом не нужно приостанавливать приложение с помощью точек останова.
Обновление выполняющегося кода с помощью Горячей перезагрузки
- Откройте проект, основанный на поддерживаемом типе приложения. Дополнительные сведения о .NET см. в статье Поддержка приложений .NET.
- Убедитесь, что отладка машинного кода отключена в параметрах отладчика или в профиле запуска отладки.
- Запустите приложение с подключенным отладчиком, используя клавишу F5 или CTRL+F5, если это сочетание клавиш поддерживается для вашего приложения.
- Откройте файл кода C#, C++ или Visual Basic с помощью кода, который может быть повторно выполнен с помощью пользовательского интерфейса запущенного приложения (например, код программной части для кнопки или команды viewmodel), или что-либо, что активируется по таймеру и изменяет код.
- Примените изменения кода с помощью кнопки Горячая перезагрузка или сочетания клавиши ALT+F10.
Поддерживаемые платформы приложений .NET и сценарии
- При использовании Visual Studio 2022 и запуске приложения с помощью отладчика базовый интерфейс Горячей перезагрузки работает с большинством типов приложений .NET и версий платформы. В частности, поддерживается платформа .NET, .NET Core и .NET 5+ (как для C#, так и для Visual Basic в соответствующих случаях). Среди поддерживаемых типов приложений: веб-приложения (изменения кода программной части), настольные, мобильные, облачные и другие типы проектов. В этом сценарии предполагается, что если вы используете отладчик, то вам будет доступна Горячая перезагрузка и вы можете ее попробовать!
- Если вы используете Visual Studio 2022, но не используете отладчик, например нажимаете сочетание клавиш CTRL+F5 для запуска приложения, Горячая перезагрузка доступна даже при нацеливании на большинство типов приложений .NET 6. Это означает, что приложения, не предназначенные для .NET 6 (.NET 5 или ниже), не поддерживают сценарий «без отладчика» и должны использовать отладчик для получения поддержки Горячая перезагрузка.
- При использовании Visual Studio 2022 с приложением .NET 6 большинство сценариев поддерживаются. Это не ограничивается новой функцией «без отладчика» упоминание выше. Также поддерживаются другие новые возможности, такие как горячая перезагрузка проектов Blazor и, в более общем плане, изменение файлов Razor в любых приложениях ASP.NET Core и горячая перезагрузка CSS. Использование Visual Studio 2022 вместе с приложениями, предназначенными для .NET 6, обеспечивает наиболее эффективное использование Горячей перезагрузки.
В следующей таблице показано, какие типы приложений поддерживают Горячую перезагрузку .NET с подключенным отладчиком (клавиша F5) и без подключенного отладчика (CTRL+F5), а также требуется ли .NET 6 для минимальной поддержки (т. е. использования клавиши F5). Для поддержки CTRL+F5 всегда требуется .NET 6. Также показана минимальная версия Visual Studio, которая поддерживает эту функцию.
| Тип приложения | Требуется .NET 6 | F5 | CTRL + F5 |
|---|---|---|---|
| Код программной части ASP.NET | No | 16.11 | 17.0 |
| ASP.NET Razor (Blazor Server и ASP.NET Core) | Да | 17.0 | 17.0 |
| ASP.NET Razor (Blazor WASM) | Да | 17.1 | 17.0 |
| WPF | No | 16.11 | 17.0 |
| WinUI3 | No | 16.11 | — |
| WinForms | No | 16.11 | 17.0 |
| Консоль | No | 16.11 | 17.0 |
| .NET MAUI (WinUI 3) | Да | 17.1 | — |
| .NET MAUI (Android) | Да | 17.1 | — |
| .NET MAUI (iOS) | Да | 17.1 | — |
| Гибридное приложение Blazor .NET MAUI (WinUI 3) | Да | 17.1 | — |
| Гибридное приложение Blazor .NET MAUI (Android) | Да | 17.1 | — |
| Гибридное приложение Blazor .NET MAUI (iOS) | Да | 17.1 | — |
Типы изменений, которые можно выполнить с помощью Горячей перезагрузки, определяются средой выполнения, а не методом, использованным для запуска приложения (F5 или CTRL+F5).
В следующих разделах будут более подробно описана приведенная выше сводка.
Поддержка приложений С++
При использовании Visual Studio 2022 и запуске приложения с помощью отладчика можно выполнить горячую перезагрузку собственного приложения C++ при запуске в отладчике (F5) с помощью кнопки Горячая перезагрузка. Горячая перезагрузка также поддерживается для приложений, созданных с помощью проектов CMake и OpenFolder.
Этот интерфейс работает на основе собственного режима «Изменить и продолжить». Поддерживаемые изменения см. в статье Изменить и продолжить.
Visual Studio 2022 с приложением .NET при использовании отладчика
При использовании Visual Studio 2022 и запуске приложения с помощью отладчика Горячая перезагрузка работает с большинством платформ приложений, включая распространенные типы приложений, например Console, Windows Forms (WinForms), WPF, UWP, WinUI 3 (см. примечание), а также большинство типов веб-проектов ASP.NET (для изменений кода программной части), включая ASP.NET MVC, веб-API и даже старые проекты ASP.NET Web Forms. Это только примеры. Если вы используете .NET и управляемый отладчик Visual Studio, вы должны получить базовую поддержку Горячей перезагрузки. Это означает, что в этом сценарии отлично работают даже такие проекты, как функции Azure.
WinUI 3 по умолчанию использует отладку в смешанном режиме, которая не поддерживает Горячую перезагрузку. Это можно изменить в параметрах проекта, включив управляемый отладчик, который обеспечивает правильную работу Горячей перезагрузки. Для включения отладчика в проекте измените файл «launchSettings.json» и добавьте «nativeDebugging»: false после свойства commandName .
Приложения .NET MAUI поддерживаются начиная с Visual Studio 2022 версии 17.1 (предварительная версия 1).
Visual Studio 2022 с приложением .NET без отладчика
Горячая перезагрузка доступна без отладчика при нацеливании на большинство типов приложений .NET 6, включая такие типы проектов, как Console, WPF, Windows Forms (WinForms), ASP.NET Core MVC, веб-API и Blazor.
Эта функция предоставляется исключительно для .NET 6+. Приложения, не предназначенные для .NET 6 (.NET 5 или более ранних версий), не поддерживают сценарий «без отладчика» и должны использовать отладчик для получения доступа к Горячей перезагрузке.
Кроме того, имейте в виду, что не все типы проектов в настоящее время поддерживают сценарий «без отладчика». В частности:
- Приложения UWP не поддерживаются для Горячая перезагрузка без отладчика. Это предусмотрено специально, и добавление поддержки не планируется.
- Приложения Xamarin.Forms, предназначенные для iOS и Android, не поддерживают Горячая перезагрузка .NET (независимо от того, запускаете ли вы приложение с отладчиком или без нее), но по-прежнему поддерживают Горячая перезагрузка XAML.
- Приложения .NET MAUI поддерживаются только с отладчиком.
Visual Studio 2022 с приложением .NET 6
Если вы используете и Visual Studio 2022, и работаете с приложениями, нацеленными на .NET 6, вы получаете преимущества наиболее удобной и функциональной Горячей перезагрузки.
В этом сценарии поддерживаются:
- приложения Blazor (Server и WebAssembly (см. примечание));
- изменение файлов Razor в Blazor и в обычных веб-сайтах ASP.NET Core;
- Горячая перезагрузка CSS;
- поддержка Горячей перезагрузки при запуске приложений без отладчика (как описано выше).
Если вы будете нацеливать приложения на .NET 6, то будете получать улучшения в будущих обновлениях Visual Studio 2022, а также в основных выпусках .NET.
В первом выпуске Visual Studio 2022 (версия 17.0) не включена поддержка Горячей перезагрузки для приложений Blazor WebAssembly при использовании отладчика Visual Studio, но эта функция доступна начиная с версии 17.1. Воспользоваться функцией Горячей перезагрузки можно, если запустить приложение в Visual Studio без отладчика или обновить его до выпуска 17.1.
Поддерживаемые сценарии ASP.NET Core
Базовые функции Горячей перезагрузки поддерживается для многих сценариев ASP.NET. Самой распространенной функцией является возможность изменения кода программной части и других файлов классов .NET для большинства типов веб-приложений. Эта функция работает при использовании отладчика Visual Studio везде, где ранее был доступен режим «Изменить и продолжить». Более подробное руководство: Поддержка Горячей перезагрузки .NET для ASP.NET Core.
Для разработчиков ASP.NET Core, которые нацеливают приложения на .NET 6, существуют дополнительные возможности, недоступные для более ранних версий .NET. Эти возможности включают:
- CSHTML. Редактирование файла Razor CSHTML поддерживает много типов изменений.
- Обновление браузера. Редактирование файла Razor автоматически обновляет изменения в веб-браузере при отладке. Ранее эта функция была доступна только при запуске приложения без отладчика.
- Горячая перезагрузка CSS. Теперь можно изменять CSS-файлы во время работы приложения, и изменения будут применяться к выполняющемуся приложению по мере ввода.
- Без отладчика. Вы получаете поддержку Горячей перезагрузки при использовании Visual Studio для запуска веб-приложения без отладчика (CTRL+F5).
Поддерживаемые изменения .NET
Интерфейс .NET Горячая перезагрузка работает с помощью механизма «Изменить и продолжить» и Roslyn. Поддерживаемые изменения перечисляют типы изменений, поддерживаемых в настоящее время Roslyn, и потенциальные будущие улучшения.
Неподдерживаемые сценарии .NET
- Приложения Xamarin. Forms не поддерживают Горячую перезагрузку .NET в сценариях iOS и Android. Предоставляется частичная поддержка Горячей перезагрузки при нацеливании на приложение UWP. Это предусмотрено специально, и какие-либо улучшения в этом отношении не планируются. (Примечание. Горячая перезагрузка XAML останется доступной и будет поддерживаться для клиентов Xamarin.Forms с последней версией пакета SDK.)
- Приложения .NET MAUI не поддерживаются до Visual Studio 2022 версии 17.1 ( предварительная версия 1). Начиная с версии 17.1 (предварительная версия 1) .NET MAUI поддерживается, но только с подключенным отладчиком.
- Приложения, созданные с помощью F# или предназначенные для .NET Native, не поддерживают Горячая перезагрузка.
Если вы используете Visual Studio без отладчика. Горячая перезагрузка .NET работает только для приложений, нацеленных на .NET 6.
Кроме того, Горячая перезагрузка недоступны в некоторых конфигурациях проекта:
- Если вы используете отладчик Visual Studio для запуска приложения, но вы отключили Edit and Continue в параметрах, Горячая перезагрузка не поддерживается.
- Конфигурации выпуска или пользовательской сборки не поддерживаются. Проект должен использовать конфигурацию отладочной сборки.
- Некоторые оптимизации запуска и компиляции не поддерживаются в Горячей перезагрузке .NET. Например, если профиль отладки проекта настроен следующим образом, Горячая перезагрузка .NET не поддерживается:
- Для проекта включена обрезка. Например, если в файле проекта для профиля отладки для параметра PublishTrimmed задано значение true.
- Для проекта включена функция ReadyToRun. Например, если в файле проекта для профиля отладки для параметра PublishReadyToRun задано значение true.
Настройка Горячей перезагрузки
Для настройки Горячей перезагрузки можно выбрать Параметры в раскрывающемся списке Горячая перезагрузка.

Или откройте Инструменты>Параметры>Отладка>Горячая перезагрузка .NET/C++.
Среди параметров Горячей загрузки есть следующие:
- Enable Hot Reload and Edit and Continue when debugging (Включить Горячую перезагрузку и режим «Изменить и продолжить» при отладке). Включает Горячую перезагрузку при запуске с подключенным отладчиком (F5).
- Enable Hot Reload when starting without debugging (Включить Горячую перезагрузку при запуске без отладки). Включает Горячую перезагрузку при запуске без подключенного отладчика (Ctrl+F5).
- Apply Hot Reload on File Save (Применить Горячую перезагрузку при сохранении файла). Применяет изменения кода при сохранении файла.

Вы также можете управлять доступностью Горячей перезагрузки .NET на уровне проекта, изменяя файл «launchSetting.json» своих проектов .NET 6 и задавая параметру hotReloadEnabled значение false .
Предупреждение
Если появится следующее диалоговое окно, то Горячей перезагрузке не удалось применить текущие изменения без перезапуска. Вы можете либо перестроить приложение и применить изменения (перезапустить приложение), либо продолжить редактирование. При перестроении состояние приложения теряется. При продолжении редактирования возможно, что дополнительные изменения или исправления могут привести к тому, что Горячая перезагрузка снова работать.

Если вы выберете в диалоговом окне параметр Always rebuild (Всегда перестраивать), в текущем сеансе Visual Studio будет автоматически выполнять перестроение и перезагрузку без отображения диалогового окна.
В первом выпуске Visual Studio (версия 17.0) диалоговое окно «Изменить и продолжить» все еще отображается при использовании Горячей перезагрузки с отладчиком. Эта ошибка была исправлена начиная со второй предварительной версии выпуска 17.1.
Устранение неполадок
Если вы используете сжатие ответов, см. сведения о сжатиях dotnet watch ответов в ASP.NET Core.
