Visual Studio Icon Заметки о выпуске Visual Studio 2019 версии 16.9



Сообщество разработчиков | Требования к системе | Совместимость | Распространяемый код | Условия лицензии | Блоги | Известные проблемы | в последнем выпуске Новые возможности в документах Visual Studio


Нажмите кнопку, чтобы скачать последнюю версию Visual Studio 2019. Инструкции по установке и обновлению Visual Studio 2019 см. в документации по обновлению до последнего выпуска Visual Studio 2019. Кроме того, см. инструкции по установке в автономном режиме.

Community Download Button Professional Download Button Enterprise Download Button


Новые возможности Visual Studio 2019 версии 16.9

Поддержка диапазона времени

Visual Studio 2019 версии 16.9 является четвертой поддерживаемой базовой версией Visual Studio 2019. Клиентам Enterprise и Professional, которым нужно применить долгосрочную стабильную и безопасную среду разработки, мы рекомендуем основывать свои стандарты именно на этой версии. Как разъясняется в нашей политике жизненного цикла и поддержки, выпуск исправлений и обновлений безопасности для версии 16.9 продолжится до конца октября 2022 г. В октябре 2022 г. будет год с момента выпуска Visual Studio 2019 версии 16.11, которая была объявлена как последняя обслуживаемая базовая версия.

Кроме того, с момента выпуска версии 16.9 в течение 12 месяцев будет поддерживаться версия 16.7, которая была предыдущей базовой версией и поддержка которой прекратится в апреле 2022 года. Обратите внимание, что версия 16.8 также уже не поддерживается. Эти промежуточные выпуски получают исправления только до выпуска следующего дополнительного обновления.

Последнюю наиболее защищенную версию Visual Studio 2019 версии 16.9 можно скачать в разделе загрузок на сайте my.visualstudio.com или в каталоге Майкрософт.   Дополнительные сведения о базовых версиях Visual Studio см. в статье о политике поддержки Visual Studio 2019.

Выпуски Visual Studio 2019 версии 16.9

Помещенные в архив заметки о выпуске Visual Studio 2019

Блог Visual Studio 2019

Блог Visual Studio 2019 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2019 версии 15.9 можно найти в следующих записях:


Release Notes Icon Visual Studio 2019 версии 16.9.11 New release icon

выпущен 14 сентября 2021 г.

Проблемы, устраненные в этом выпуске

  • Исправлена Неустранимая внутренняя ошибка компилятора, вызванная неименованными структурами, на поля которых имеются ссылки в аннотациях SAL.
  • Устраняет редкий сбой при анализе шаблона кода, использующего __uuidof.

Советы по безопасности

CVE-2021-26434 Visual Studio уязвимость повышения привилегий назначения разрешений

в Visual Studio после установки разработки игр на C++ существует уязвимость назначения разрешений, а затем выбирается рабочая нагрузка «нереалный установщик». Система уязвима для ЛПЕ во время установки. она создает каталог с доступом на запись для всех пользователей.

От сообщества разработчиков


Release Notes Icon Visual Studio 2019 версии 16.9.10

Выпущено 10 августа 2021 г.

Проблемы, устраненные в этом выпуске

  • При создании отчетов об установленных расширениях пути больше не отправляются на диск.
  • Исправлена ошибка IntelliSense, возникавшая при обработке статических членов данных в специализациях шаблонов в классе.
  • Исправлена проблема, которая затрагивала выполнение команды обновления в командной строке. Если первая попытка обновления завершается сбоем, то при последующем выполнении команды обновление начинается с того места, на котором остановилась предыдущая операция.

Советы по безопасности

CVE-2021-26423 — уязвимость .NET Core к отказу в обслуживании

Существует приводящая к отказу в обслуживании уязвимость, из-за которой серверные приложения .NET (Core), предоставляющие конечные точки WebSocket, могут быть обманным путем втянуты в бесконечный цикл при попытке считать отдельный кадр WebSocket.

CVE-2021-34485 — уязвимость к раскрытию информации в .NET Core

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

CVE-2021-34532 — уязвимость к раскрытию информации в ASP.NET Core

Существует связанная с раскрытием информации уязвимость, когда регистрируется маркер JWT, который не удается проанализировать.


Release Notes Icon Visual Studio 2019 версии 16.9.9

Выпущено 13 июля 2021 г.

Проблемы, устраненные в этом выпуске

  • Исправлена проблема ARM64X, при которой Outlook аварийно завершал работу при использовании надстроек.
  • Исправлена проблема, из-за которой компилятор C++ некорректно выполнял преобразования if.
  • Исправлена проблема ASan с совместимостью с последними обновлениями Windows.
  • ASan больше не сообщает о ложной ошибке перекрытия областей памяти memcpy.
  • Шаблон функции с неименованным параметром функции типа массива приводил к тому, что средство синтаксического анализа пропускало последующие определения функции, что приводило к ложной ошибке constexpr о том, что функция не определена, при вычислении вызова к ней в константном выражении. Исправление включает синтаксический анализ пропущенного определения функции.
  • Исправлена проблема с производительностью и ложноположительные результаты, вызываемые одним из выражений средства проверки, которое обнаруживало ошибки при неправильном использовании VARIANT.
  • Исправлена проблема с производительностью, вызываемая одним из выражений средства проверки, которое обнаруживало ошибки при неправильном использовании значений перечисления в качестве индекса.
  • Исправлена утечка памяти при компиляции нескольких единиц пропускной способности.
  • Анализатор параллелизма больше не должен выдавать ложные предупреждения C26110 (не удалось получить блокировку) с шаблонами автоматической блокировки.
  • Это исправление восстанавливает поведение внешних заголовков, пропуская анализ внешних заголовков и подавляя предупреждения от внешних заголовков.
  • Проверка параллелизма в анализе кода стала более интеллектуальной. Они реже дают неверные результаты для сложных потоков управления.
  • Исправлена проблема, связанная с созданием макета.
  • Устранена проблема, из-за которой обновления могли завершаться сбоем из-за отсутствия сведений о канале обновления.

От сообщества разработчиков


Release Notes Icon Visual Studio 2019 версии 16.9.8

Дата выпуска: 15 июня 2021 г.

От сообщества разработчиков


Release Notes Icon Visual Studio 2019 версии 16.9.7

Дата выпуска: 8 июня 2021 г.

Проблемы, устраненные в этом выпуске

  • Исправлена проблема в средстве клонирования инструкций SSA.
  • Исправлена проблема, которая приводила к сбою mspdbcore.dll.
  • Исправлена сборка баз кода клиента, которая работала длительное время, а затем время ожидания истекало.
  • Исправлена проблема, которая не позволяла разработчикам выполнять сборку PyTorch.
  • Исправляет внутреннюю ошибку MSBuild (MSB0001), возникавшую при создании большой базы кода с помощью 32-разрядного процесса MSBuild.exe.
  • Исправлена проблема в окне средства контейнера, вызывающая сбой Visual Studio 2019, возникающая, когда разработчики пытаются просмотреть сопоставленные порты, а затем переключаются на другой контейнер.

Советы по безопасности

CVE-2021-31957 Уязвимость ASP.NET, приводящая к отказу в обслуживании

В ASP.NET Core существует уязвимость, приводящая к отказу в обслуживании из-за неправильной обработки отключения клиента.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненные в выпуске 16.9.7:

Release Notes Icon Visual Studio 2019 версии 16.9.6

Дата выпуска: 18 мая 2021 г.

Проблемы, устраненные в этом выпуске

  • Устранена ошибка "Не удается обратиться к удаленному объекту. Имя объекта: 'System.Net.Http.StringContent'" при попытке создать сертификат или запустить автоматическую подготовку.
  • Исправлена проблема, из-за которой функция Горячего перезапуска iOS работала неправильно.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненные в выпуске 16.9.6:


Release Notes Icon Visual Studio 2019 версии 16.9.5

Выпущено 11 мая 2021 г.

Проблемы, устраненные в этом выпуске

  • Исправлена проблема, при которой инструменты Office не работали должным образом при использовании экспорта.
  • Исправлена ошибка, при которой происходило аварийное завершение Visual Studio 2019 во время определенных виртуальных вызовов между DLL-библиотеками x64 и ARM64EC.
  • Исправлена ложная ошибка при выполнении многопоточного кода, инструментированного с помощью ASan.
  • Исправлена проблема, из-за которой происходил сбой проекта и возникала ошибка "В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL".
  • Устранена проблема, из-за которой программа Visual Studio 2019 переставала отвечать на запросы при открытии файла C++ на этапе запуска.
  • Исправлена проблема с файлами конфигурации CmakeSettings.json, в которых не удавалось сохранить новые параметры.
  • Исправлена внутренняя ошибка компилятора, возникавшая при анализе исходного файла, если путь к нему содержал один или несколько символов, указанных не в кодировке ASCII.
  • Исправлена проблема с открытием файлов покрытия, в которых содержалось несколько записей для одной библиотеки.
  • Исправлена ошибка, приводившая к отказу в доступе для пользователей, которые выполняли вход с учетными записями, не являющимися рабочими, если удаленный рабочий стол был включен.
  • Исправлена ошибка, приводившая к сбою Visual Studio 2019 при настройке меню и нажатии на разделитель в диалоговом окне настройки.
  • Плавающие окна документов теперь восстанавливаются при открытии решения.
  • Исправлена проблема, которая приводила к сбою обновлений при создании администратором нового макета Visual Studio для развертывания обновлений. Обновление клиентского компьютера завершалось сбоем, так как менялось расположение макета.
  • Исправлена проблема, при которой сборка проекта с включенным быстрым развертыванием завершалась ошибкой или развертывание занимало много времени.
  • Добавлена поддержка Xcode 12.5.
  • Исправлена проблема, которая приводила к сбою обновлений при создании администратором нового макета Visual Studio для развертывания обновлений. Обновление клиентского компьютера завершалось сбоем, так как менялось расположение макета.

Советы по безопасности

CVE-2021-27068 При внедрении python.exe во вложенную папку возможно удаленное выполнение кода

Существует уязвимость, связанная с удаленным выполнением кода, при открытии рабочей области с кодом Python, которая содержит файл python.exe в подпапке scripts.

CVE-2021-31204 Уязвимость, связанная с повышением привилегий в .NET Core

В .NET 5.0 и .NET Core 3.1 существует уязвимость, связанная с повышением уровня привилегий, когда пользователь запускает приложение с одним файлом в операционных системах на основе Linux или macOS.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.5:


Release Notes Icon Visual Studio 2019 версии 16.9.4

Выпущено 13 апреля 2021 г.

Проблемы, устраненные в этом выпуске

  • Исправлена ошибка SFINAE с некоторыми формами имен шаблонов в независимых базовых классах.
  • Исправлена ситуация, в которой доступ к временному каталогу блокировался при попытке IntelliCode записать журнал во временный каталог.
  • Устранена проблема, из-за которой функциональность Visual Studio была ограничена, если было также установлено стороннее программное обеспечение для управления привилегиями.
  • Устранена проблема, когда клиенты многократно запускают на Xbox отладку с постоянным увеличением объема используемых ресурсов ядра и в конечном итоге требуется перезапуск Xbox, который приводит к потере состояния.
  • Устранено зависание при отладке машинного кода в сборках Windows выпуска Insider Preview.
  • Устранена ошибка специальных возможностей, связанная с фокусом клавиатуры.
  • В диалоговом окне "Новый проект" возвращены отсутствующие шаблоны Xamarin (библиотека классов iOS/Android, библиотека привязок iOS/Android, Android Wear, Xamarin.UITest). Эти шаблоны были скрыты по ошибке.
  • Для проектов C++ на основе CMake, предназначенных для Linux и использующих подключение SSH, восстановлено предыдущее поведение каталога назначения, задаваемого в CMakeSettings.json с помощью свойства remoteCMakeListsRoot, аналогичное версии 16.8, при котором назначение копирования соответствует корню исходного каталога. Подробные сведения см. в заявке Подключение к удаленному компьютеру Linux использует неверный путь назначения.

Советы по безопасности

CVE-2021-27064: уязвимость к повышению привилегий в Visual Studio Installer

Существует уязвимость к удаленному выполнению кода, при котором Visual Studio Installer запускает Feedback Client в состоянии с повышением прав.

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322: уязвимость к повышению привилегий в службе стандартного сборщика Центра диагностики

Уязвимость, которая может привести к несанкционированному повышению привилегий, возникает, когда стандартный сборщик центра диагностики неправильно обрабатывает определенные операции с данными.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.4:


Release Notes Icon Visual Studio 2019 версии 16.9.3

Выпущено 30 марта 2021 г.

Проблемы, устраненные в этом выпуске

  • Исправлена ошибка, при которой в MSBuild возникал сбой при попытке сборки решения, содержащего проект веб-сайта, с помощью файла MSBuild.exe.
  • Исправлена ошибка, при которой возникал сбой, вызванный некоторыми зависимостями ServiceHub.
  • Исправлена проблема с блокировкой, из-за которой пользователям средства визуальной диагностики XAML на устройствах Xbox или IoT была запрещена удаленная отладка.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.3.


Release Notes Icon Visual Studio 2019 версии 16.9.2

Выпущено 16 марта 2021 г.

Проблемы, устраненные в этом выпуске

  • Обновлены имена указателей на глобальные функции ARM64X.
  • Исправлена ошибка, возникающая при извлечении первого OBJ из ARM64X LIB с помощью link -lib -extract.
  • Исправлена ошибка, когда код, скомпилированный с помощью санитайзера адресов и оптимизаций, мог привести к созданию неверного кода, вызывавшему сбой Visual Studio 2019.
  • Исправлена проблема, приводящая к сбою из-за добавления функций через редактор диалоговых окон в редакторе ресурсов.
  • Nuget.org больше не требуется удалять дважды в качестве источника пакета.
  • Улучшена производительность анализа пакета NuGet.
  • Исправлено сообщение об ошибке, информирующее о нерекомендуемых API, которое клиенты получали при использовании узла Базы данных SQL Azure в обозревателе сервера.
  • Исправлена проблема, которая приводила к выводу сообщения об ошибке, указывающего на неправильную загрузку CascadePackage.
  • Исправлена проблема, из-за которой было невозможно развернуть проект сборки с включенным быстрым развертыванием либо для развертывания требовалось дополнительное время.
  • Исправлена проблема, из-за которой после горячей перезагрузки сохраненные изменения отображались в полностраничном режиме.
  • Исправлена проблема, из-за которой горячая перезагрузка приводила к нарушению работы или применению изменений для динамического визуального дерева.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.2:


Release Notes Icon Visual Studio 2019 версии 16.9.1

Выпущено 9 марта 2021 г.

Советы по безопасности

CVE-2021-21300 Git для уязвимости удаленного выполнения кода в Visual Studio

Существует уязвимость удаленного выполнения кода, когда Visual Studio клонирует вредоносный репозиторий.

CVE-2021-26701 Уязвимость удаленного выполнения кода в .NET Core

В .NET 5 и .NET Core есть уязвимость удаленного выполнения кода. Она обусловлена методами обработки кодировки текста.

Проблемы, устраненные в этом выпуске

  • Исправлена выдача неверных метаданных ARM64EC для объектов.
  • Исправлена проблема, из-за которой C++ с включенными FixIt (настройка по умолчанию) отображал ненужные подчеркивания ошибок при открытии любого кода.
  • В некоторых случаях механизм IntelliSense в C++ пытается использовать чрезмерно большое число путей для включения файлов, что приводит к прекращению его работы.
  • Повышена стабильность Live Share при работе с C++.
  • Исправлена проблема, из-за которой в IntelliCode прекращалась загрузка символов.
  • Улучшено время загрузки и закрытия решений в ситуациях, когда у пользователей включен новый экспериментальный редактор Razor.
  • Исправлена проблема со сбоем ServiceHub, который мог проявляться после открытия диалогового окна "Расширения и обновления" и приводить к завершению работы Visual Studio.
  • Исправлена ошибка, из-за которой выдавалось сообщение о недоступности обновлений при проверке обновлений на медленных компьютерах.
  • Улучшено поведение при запуске проектов WAP из Visual Studio в ходе выполнения добавочных изменений.
  • Исправлена проблема, из-за которой установка не запускалась при использовании итальянского языкового стандарта.
  • Исправлен сценарий обновления, из-за которого установщик переставал отвечать в течение очень долгого времени, пока инициализировался кэш шаблонов .NET Core.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.1:


Release Notes Icon Visual Studio 2019 версии 16.9.0

Выпущено 2 марта 2021 г.

Сводка новых возможностей этого выпуска Visual Studio 2019 версии 16.9.0

C++

  • Очистка адресов:
    • Поддержка санитайзера адресов в Windows теперь не считается экспериментальной и стала общедоступной.
    • Расширена поддержка RtlAllocateHeap, устранена проблема совместимости для перехватчиков RtlCreateHeap и RtlAllocateHeap при создании исполняемых пулов памяти.
    • Добавлена поддержка устаревших функций работы с памятью GlobalAlloc и LocalAlloc. Эти перехватчики можно включить с помощью ASAN_OPTIONS=windows_hook_legacy_allocators=true.
    • Обновлены сообщения об ошибках, связанные с пересечением теневой памяти и сбоями перехвата, чтобы предоставлять четкие сведения о проблемах и методах решения.
    • Интеграция с интегрированной средой разработки теперь поддерживает полную коллекцию исключений, о которых может сообщать ASan.
    • Компилятор и компоновщик предложат выдавать отладочную информацию, если обнаружат выполнение сборки с помощью ASan без выдачи отладочной информации.
  • Теперь вы можете ориентироваться на версию LLVM среды выполнения OpenMP с помощью нового ключа компилятора /openmp:llvm. Это добавит поддержку предложения lastprivate в разделах #pragma omp и переменных индексов без знака в параллельных циклах for. Ключ /openmp:llvm в настоящее время доступен только для целевой платформы amd64 и считается экспериментальным.
  • Проекты Visual Studio CMake теперь имеют поддержку первого класса для удаленной разработки Windows. Сюда включается настройка проекта CMake для целевой платформы Windows ARM64, развертывание проекта на удаленном компьютере Windows и его отладка на удаленном компьютере Windows из Visual Studio.
  • Версия Ninja, поставляемая с Visual Studio в Windows, была обновлена до 1.10. Дополнительные сведения о новых возможностях см. в заметках о выпуске для Ninja 1.10.
  • Версия CMake, поставляемая с Visual Studio, была обновлена до 3.19. Дополнительные сведения о новых возможностях см. в заметках о выпуске для CMake 3.19.
  • В библиотеке STL многие типы блокировок и предохранителей помечены тегом nodiscard: https://github.com/microsoft/STL/pull/1495
  • IntelliSense.
  • MSVC теперь определяет правильные среды выполнения для санитайзера адресов, необходимые для двоичных файлов. Проект Visual Studio автоматически получит новые изменения. При использовании средства санитайзера адресов в командной строке теперь необходимо передать компилятору только /fsanitize=address.
  • Диспетчер соединений Visual Studio теперь поддерживает закрытые ключи с помощью алгоритма открытого ключа ECDSA.
  • LLVM и Clang, поставляемые в нашем установщике, обновлены до версии 11. Дополнительные сведения см. в заметках о выпуске для LLVM и Clang.
  • Теперь Visual Studio будет использовать переменные CMake из файлов цепочки инструментов для настройки IntelliSense. Это обеспечит лучшую производительность при разработке встраиваемых приложений и Android.
  • Реализация предложения о дополнительных контейнерах constexpr, которая позволяет деструкторам и новым выражениям представлять constexpr. Это создает условия для использования таких служебных программ, как constexpr std::vector и std::string.
  • Расширенная поддержка IntelliSense для модулей C++20, включая переход к определению, переход к модулю и завершение элементов.
  • Сокращенные шаблоны функций теперь поддерживаются в компиляторе MSVC.

Javascript/TypeScript

  • Добавлена поддержка отладки WebView2 JavaScript/TypeScript на основе Microsoft Edge Chromium для приложений WPF, WinForms и проектов WinUI 3. Чтобы ее включить, выберите отладчик JavaScript в диалоговом окне "Свойства проекта". Сведения о том, как начать работу с ним, можно найти здесь.

Отладчик

  • Добавлен новый автоматический анализатор, который проверяет потоки на наличие взаимоблокировок.
Auto Analyzer that inspects threads for deadlocks
  • Добавлен новый автоматический анализатор, который проверяет очередь метода завершения .NET Core и обнаруживает потенциально блокирующие объекты.
Auto Analyzer that inspects the .NET Core Finalizer queue
  • Теперь Visual Studio отфильтровывает избыточные повторяющиеся кадры из стека вызовов при остановке отладчика в исключении StackOverflow. Теперь можно просмотреть базу стека, в которой возникла бесконечная рекурсия, что должно упростить изучение таких ошибок.
Filters out redundant repeating frames from the call stack when the debugger stops on a StackOverflow Exception

Profiler

  • Добавлен новый сценарий динамического инструментирования, который работает быстрее (не требует VSInstr) и позволяет инструментировать приложения .NET Core без PDB-файлов.
Dynamic Instrumentation Profiling

F# и средства для F#

В этом выпуске добавлено несколько возможностей для повышения производительности и скорости работы со средствами F# для Visual Studio.

  • Поддержка .NET Core FSI.
  • Справка по сигнатурам для приложений-функций.
  • 14 новых быстрых исправлений.
  • Значительные улучшения производительности и отзывчивости для инструментария F#.

Вы можете прочитать о них в заметках об обновлении F# и средств для F# для Visual Studio 16.9 или о выпуске продукта.

Производительность .NET

  • Теперь IntelliSense поддерживает заполнение для символов препроцессора.
  • Обозреватель решений теперь отображает новые генераторы исходного кода .NET 5.0.
  • Go To All (Перейти ко всем) не будет отображать дубликаты результатов, полученные от netcoreapp3.1 и netcoreapp2.0.
  • Окно Quick Info (Краткая информация) теперь отображает идентификаторы или номера предупреждений компилятора для возможности их подавления.
  • Директивы using теперь автоматически добавляются при копировании и добавлении типов в новый файл.
  • Теперь когда вы нажимаете ;, чтобы принять метод из списка завершения, IntelliSense автоматически вставляет круглые скобки и точку с запятой при создании объектов и вызове методов.
  • Семантическая цветовая раскраска для записей C# 9.0.
  • Рефакторинг, удаляющий ненужные пустые переменные.
  • Рефакторинг, который преобразует буквальную и обычную строки в интерполированную строку с сохранением фигурных скобок, которые были предназначены для выходных данных.
  • Исправление кода в Visual Basic, которое удаляет ключевое слово shared при преобразовании методов, общих для модуля.
  • Возможность рефакторинга с предложением использовать new(…) в неконфликтных сценариях
  • Исправление кода для устранения избыточных выражений равенства для C# и Visual Basic
  • Анализаторы стиля кода .NET (IDE) теперь могут применяться при сборке.
  • В Syntax Visualizer отображается текущий цвет переднего плана для расширенных цветов
  • Новая всплывающая подсказка при наведении указателя мыши на идентификатор диагностики для предупреждений прагма
  • При вводе ключа возврата из комментария теперь автоматически выполняется закомментирование новой строки.
  • Усовершенствованы подсказки имен встроенных параметров.
  • Отладка .NET Core с использованием WSL 2.

Звуковые подсказки и обновления специальных возможностей Обозревателя тестов

  • Теперь вы можете настраивать звуковые подсказки для обозревателя тестов, меню Group By (Группировать по) стало более доступным для средств чтения с экрана, а просмотр длинных результатов теста упрощается благодаря ссылкам, позволяющим напрямую открывать файлы журналов.

Обновления экспериментального редактора Razor

  • Семантическая раскраска HTML и C#.
  • Переименование символов C#, отраженных в закрытых файлах Razor.
  • Дополнительные лампочки C# в файлах Razor.
  • Улучшено форматирование смешанного содержимого в файлах Razor.

Веб-инструменты .NET

  • Развертывайте приложения Steeltoe для Azure Spring Cloud с помощью публикации Visual Studio (например, щелкните правой кнопкой мыши > Опубликовать в обозревателе решений).

Веб-инструменты

Средства XAML (WPF, WinUI, UWP и Xamarin.Forms)

Инструментарий MVVM

  • Улучшенная поддержка MVVM. В этом выпуске в редактор XAML добавлены лампочки, позволяющие создавать свойства и команды в существующих моделях представления. Также добавлены лампочки, помогающие настроить DataContext для существующих моделей представления в XAML с целью улучшения привязок IntelliSense.

Xamarin.Forms

В этом выпуске мы внесли несколько улучшений для разработчиков Xamarin.Forms:

  • Режим "Только изменения" Горячей перезагрузки XAML теперь используется по умолчанию для проектов Xamarin.Forms 5.x. Начиная с Visual Studio версии 16.9 режим "Только изменения" используется по умолчанию в Горячей перезагрузке XAML для проектов, предназначенных для Xamarin.Forms версии 5.x или более поздней. Проекты для версии 4.x будут автоматически использовать интерфейс "Полная страница" Горячей перезагрузки XAML, так как интерфейс "Только изменения" совместим только с Xamarin.Forms версии 5.x или более поздней. Если вы используете Xamarin.Forms 5.x и по какой-либо причине хотите открыть старый интерфейс "Полная страница" Горячей перезагрузки XAML, перейдите для этого к параметрам Горячей перезагрузки в разделе Сервис > Параметры > Отладка > Горячая перезагрузка.

  • Обновления состояния Горячей перезагрузки XAML в окне вывода: Теперь клиенты Xamarin.Forms, использующие Горячую перезагрузку XAML, могут получить дополнительные сведения о том, что происходит с конвейером Горячей перезагрузки XAML, в окне вывода. Чтобы начать работу, откройте окно выходных данных через пункт меню Вид > Вывод и выберите Горячая перезагрузка Xamarin из раздела Показать выходные данные из в верхней части этого окна.

XAML Hot Reload - Output window information
  • Xamarin.Forms + UWP — устранена проблема с исключением System.ExecutionEngineException: Начиная с выпуска Visual Studio 2019 версии 16.8 мы случайно добавили исключение во время выполнения, которое вызывало ошибки System.ExecutionEngineException, когда разработчики выполняли отладку приложения Xamarin.Forms для Windows (UWP). Начиная с этого выпуска (версия 16.9, предварительная версия 4) в сочетании с обновлением пакета NuGet Microsoft.NETCore.UniversalWindowsPlatform (версия 6.2.12 и более поздних версий) эта проблема устранена. Примечание. Это исправление предназначено не только для Visual Studio 2019 версии 16.9. При переводе проектов на новый пакет NuGet эта проблема также должна быть устранена для Visual Studio версии 16.9.

Инструменты для Unity

  • Просмотр корневых игровых объектов при отладке в новом узле Active Scene (Активная сцена) окна Locals (Локальные).
  • Просмотр всех компонентов GameObject при отладке в новом узле this.gameObject окна Locals (Локальные).
  • Просмотр всех дочерних игровых объектов и компонентов с помощью узлов Children (Дочерние объекты) и Components (Компоненты) в окне Locals (Локальные).
  • Просмотр расположения GameObject в сцене при изучении свойства Active Scene (Активная сцена).
  • Поддержка JobEntityBatch/Lambdas при использовании сущностей с генераторами исходного кода.
  • Улучшена поддержка отображения для крупных массивов с группированием индексов.
  • Подсветка синтаксиса для шейдеров лучей, UXML- и USS-файлов.
  • Visual Studio теперь будет отслеживать отсутствующие компоненты и предлагать установить их при использовании проектов Unity.
  • API сообщений Unity обновлен для всех методов, используемых как сопрограммы.

Производительность Git

  • Мы обновили флаг предварительной версии функции для нового интерфейса Git, используя встроенную ссылку на предоставление отзыва, которая позволяет связаться напрямую с группой разработчиков.
  • На домашней странице Team Explorer и на странице подключения представлены подробные сведения о переходе на новый интерфейс Git.
  • Поддержка пользовательских удаленных репозиториев в push-уведомлениях ветвей.
  • Извлечение ветви двойным щелчком в окне репозитория Git.
  • Фиксация изменений с помощью клавиш CTRL+ВВОД.
  • Отправка всех тегов из окна изменений Git.

Visual Studio Installer

  • Visual Studio Installer больше не требует повышенных прав при запуске
  • Visual Studio Installer теперь поддерживает HDR-отображение
  • Visual Studio Installer поддерживает средство чтения с экрана Navigator
  • Обновления Installer теперь встроены в обновления Visual Studio для простоты
  • Visual Studio Installer добавляет поддержку темной темы

Сведения о новых возможностях Visual Studio 2019 версии 16.9.0

Производительность Git

  • Фиксация изменений с помощью сочетания клавиш CTRL+ВВОД

    Ctrl+Enter to Commit
    Фиксация изменений с помощью сочетания клавиш CTRL+ВВОД

  • Отправка всех тегов из окна изменений Git.

Push all Tags
Отправка всех тегов в удаленный репозиторий

Производительность .NET

  • Отладка .NET Core с использованием WSL 2 позволяет запускать и отлаживать консоль и веб-приложения .NET Core в WSL 2 из Visual Studio. Это предоставляет разработчикам Windows, создающим продукты для рабочих сред Linux, более точные возможности локальной отладки.
.NET Core Debugging with WSL 2
Отладка .NET Core с использованием WSL 2
  • Теперь доступна возможность рефакторинга с предложением использовать new(…) в неконфликтных сценариях. Наведите курсор на объявление поля. Нажмите CTRL+ . , чтобы открыть меню Быстрые действия и рефакторинг. Выберите Использовать new(…) .
Use new(...) refactoring
Рефакторинг с помощью возможности "Использовать new(...)"
  • Теперь доступно исправление кода для устранения избыточных выражений равенства для C# и Visual Basic. Наведите курсор на избыточное выражение равенства. Нажмите CTRL+ . , чтобы открыть меню Быстрые действия и рефакторинг. Выберите Удалить избыточное выражение равенства.
Remove redundant equality expressions code fix
Исправление с возможностью удаления избыточных выражений равенства
  • Анализаторы стиля кода .NET (IDE) теперь могут применяться при сборке. Анализаторы стиля кода .NET можно установить как пакет NuGet для C# и Visual Basic или включить в свойствах проекта. Чтобы открыть свойства проекта, щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Свойства. Затем выберите вкладку Code Analysis, где можно выбрать Принудительно применять CodeStyle при сборке (экспериментальная версия) .
Project Properties window to enable .NET Code Style Analyzers
Окно свойств проекта для включения анализаторов стиля кода .NET
  • В Syntax Visualizer (устанавливается с пакетом SDK .NET Compiler Platform) теперь отображается текущий цвет переднего плана для расширенных цветов. Просто используйте визуализатор для перехода к тексту, для которого нужно изменить цвета, или выберите его в редакторе, а затем щелкните классифицированный цвет, чтобы изменить его.
Syntax Visualizer Colorization
Раскраска в Syntax Visualizer
  • Теперь доступна всплывающая подсказка при наведении указателя мыши на идентификатор диагностики для предупреждений прагма. В подсказке диагностики также есть ссылка, которую можно щелкнуть для перехода к документации.
Diagnostic Tooltip for Pragma Warnings
Всплывающая подсказка диагностики для предупреждений прагма
  • При вводе ключа возврата из комментария вы можете заметить, что теперь автоматически выполняется закомментирование новой строки. Это новая возможность, которая по умолчанию включена. Чтобы отключить автоматическое закомментирование новой строки, выберите Средства > Параметры > Текстовый редактор > C# или Основные > Расширенные и снимите флажок Вставлять // в начале новых строк при написании комментариев // .

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

  • Дополнительные параметры настройки для типов оформлений, которые вы хотите вставить.

  • Подсказки по встроенным типам для переменных с выводимыми типами и типами лямбда-параметров.

  • Возможность отключения подсказки имен встроенных параметров, если они совпадают с намерениями метода или отличаются только суффиксом.

  • Директивы using теперь автоматически добавляются при копировании и добавлении типов в новый файл. Чтобы включить эту функцию, перейдите в раздел Сервис > Параметры > Текстовый редактор > C# или Basic > Дополнительно и выберите Добавлять отсутствующие директивы using при вставке.

Add missing using directives on paste
Добавлять отсутствующие директивы using при вставке
  • Теперь когда вы нажимаете ;, чтобы принять метод из списка завершения, IntelliSense автоматически вставляет круглые скобки и точку с запятой при создании объектов и вызове методов.
Method call completion
Завершение вызова метода
  • Теперь используется семантическая цветовая раскраска для записей C# 9.0. Вы можете настроить цвета в разделе Сервис > Параметры > Среда > Шрифты и цвета. В списке Отображаемые элементы прокрутите до пункта Типы пользователей — записи и выберите цвет, который вы хотите применить к записям.
Semantic colorization for records
Семантическая цветовая раскраска для записей
  • В C# 9.0 пустые переменные являются лишними в некоторых случаях сопоставления шаблонов. Мы отбрасываем ненужные пустые переменные и предлагаем исправление кода для их удаления. Поместите курсор на отброшенную пустую переменную. Нажмите CTRL+ . , чтобы открыть меню Быстрые действия и рефакторинг. Выберите Удалить ненужную пустую переменную.
Remove unnecessary discard
Удалить ненужную пустую переменную
  • Теперь мы используем рефакторинг, который преобразует буквальную и обычную строки в интерполированную строку с сохранением фигурных скобок, которые были предназначены для выходных данных. Этот рефакторинг не предлагается, если строка назначена константе. Поместите курсор на строку. Нажмите CTRL+ . , чтобы открыть меню Быстрые действия и рефакторинг. Выберите Преобразовать в интерполированную строку.
Convert to an interpolated string that will preserve curly braces
Преобразование в интерполированную строку с сохранением фигурных скобок
  • Мы внесли исправление кода в Visual Basic, которое удаляет ключевое слово shared при преобразовании методов, общих для модуля.

  • Теперь IntelliSense поддерживает заполнение для символов препроцессора. Начните вводить директиву #if, чтобы увидеть новые возможности завершения для символов, которые в текущий момент определены в области.

IntelliSense completion for preprocessor symbols
Поддержка IntelliSense для символов препроцессора
  • Обозреватель решений теперь отображает новые генераторы исходного кода для .NET 5.0 в узле Analyzer (Анализатор), чтоб позволяет легко просматривать созданный код и перемещаться по нему.
Source Generators node in Solution Explorer
Узел Source Generators (Генераторы источника) в Обозревателе решений
  • В окне Go To All (Перейти ко всем) не будут отображаться дублирующиеся результаты, полученные из netcoreapp3.1 и netcoreapp2.0, а также результаты для разделяемых типов, которые существуют только в качестве оболочки для другого вложенного типа. Это поможет устранить беспорядок в результатах, быстрее находить нужный код и переходить к нему. Теперь в результаты включаются имена файлов для частичных символов.
Go To All will not display duplicate results across netcoreapp3.1 and netcoreapp2.0
Окно Go To All (Перейти ко всем) не будет отображать дубликаты результатов, полученные от netcoreapp3.1 и netcoreapp2.0
  • Окно Quick Info (Краткая информация) теперь отображает идентификаторы или номера предупреждений компилятора для возможности их подавления. Наведите указатель мыши на идентификаторы или номера предупреждений, чтобы просмотреть краткие сведения по этому идентификатору диагностики.
Quick Info on compiler warning IDs or numbers for suppressions
Окно Quick Info (Краткая информация) отображает идентификаторы или номера предупреждений компилятора для возможности их подавления

Благодарность

И, наконец, большая благодарность людям, которые в этом месяце трудились над производительностью .NET: Roslyn ():

Веб-инструменты .NET

  • Развертывайте приложения Steeltoe для Azure Spring Cloud с помощью публикации Visual Studio (например, щелкните правой кнопкой мыши > Опубликовать в обозревателе решений). Если вы не видите этот параметр, убедитесь, что проект содержит пакет NuGet Microsoft.Azure.SpringCloud.Client версии 1.0.0-preview.1 или более поздней.
Deploy your Steeltoe applications to Azure Spring Cloud
Развертывание приложений Steeltoe в Azure Spring Cloud

Веб-инструменты

Добавление Конфигурации приложений в качестве подключенной службы автоматически подключает это приложение к ресурсу Конфигурации приложений Azure. Теперь поддерживается автоматическое создание кода для консольных проектов .NET Core, а также автоматическое добавление пакетов NuGet для проектов .NET Framework. Чтобы интегрировать в приложение эту подключенную службу, щелкните Подключенные службы и добавьте Конфигурацию приложений Azure в качестве зависимости службы.

Add App Config to Connected Services
Добавление Конфигурации приложений в качестве подключенной службы
  • Вкладка "Подключенные службы" теперь поддерживает Конфигурацию приложений Azure. Конфигурация приложений позволяет централизованно управлять параметрами приложений и флагами функций. При добавлении этой зависимости службы код автоматически обновляется для подключения к ресурсу Конфигурации приложений. В обновление входит установка наиболее актуальных пакетов NuGet и сохранение секретов в локальном хранилище или Key Vault.
Manage your configurations with Azure App Configuration
Управление конфигурациями с помощью подключения к службе "Конфигурация приложений Azure"

Visual Studio Installer

В Visual Studio Installer появилось несколько новых функций в ответ на запросы клиентов.

Многие пользователи теперь используют установщик для обнаружения, запуска нескольких копий Visual Studio и управления ими. Чтобы поддержать этот процесс, Visual Studio Installer больше не требует повышения прав при запуске, а только для внесения изменений в Visual Studio и на компьютер. Другие действия, такие как экспорт конфигураций установки, просмотр новостей и сведений об обновлениях, больше не требуют от пользователя сначала повысить права.

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

Теперь установщик позволяет выбрать темную тему. Пользователи могут изменить тему установщика, нажав на кнопку с солнцем и луной (☼/☽) в заголовке окна. Обновления, запущенные в интегрированной среде разработки Visual Studio, будут использовать текущий выбор темы Visual Studio.

VS Installer with dark theme and inline installer update
Установщик VS с темной темой и встроенным обновлением установщика

Звуковые подсказки и обновления специальных возможностей Обозревателя тестов

  • Обозреватель тестов теперь может воспроизводить звуковой сигнал при завершении тестового запуска. Вы можете выбрать два звука: один как свидетельство об успешном прохождении всех тестов, а другой — о том, что как минимум один из них в тестовом запуске не пройден. Эта возможность возникла на основе пользовательского запроса с целью улучшить доступность обозревателя тестов, добавляя звуковую подсказку для тех разработчиков, которые имеют нарушения зрения. Для выбора звука используется стандартное диалоговое окно выбора звука в Windows 10, которое позволяет выбрать один из готовых звуков или любой звуковой файл с компьютера.
  • Предложение GROUP BY в обозревателе тестов стало более доступным благодаря улучшению фраз и порядка слов для воспроизведения в средстве чтения с экрана.
  • Просмотр длинных тестовых данных в области результатов теста в обозревателе тестов теперь стал проще благодаря наличию ссылки, которая напрямую открывает файл журнала вместо перехода к элементу управления документами.

Работа с тестами

  • Добавлена поддержка сбора объема протестированного кода для тестовых проектов .NET Core, использующих Fakes.
  • Сокращено время, необходимое для слияния нескольких отчетов об объеме протестированного кода.

IntelliCode

  • IntelliCode теперь предоставляет повторяющиеся предложения по редактированию непосредственно в списке завершений IntelliSense. Вы можете выполнить предварительный просмотр предлагаемого изменения, применить его в этом расположении или игнорировать такие предложения непосредственно из элемента завершения. Дополнительные сведения о предложениях IntelliCode.

Обновления экспериментального редактора Razor

  • Семантическая раскраска HTML и C#.
  • Переименование символов C#, отраженных в закрытых файлах Razor.
  • Дополнительные лампочки C# в файлах Razor:
    • Добавлен атрибут DebuggerDisplay.
    • Создание и назначение свойства.
    • Создание и назначение поля.
    • Реализация интерфейса или абстрактного класса с поддержкой использования шаблонов, например реализация интерфейса с шаблоном освобождения.
    • Создание равных значений, хэш-кода, конструктора.
  • Добавление одной и всех проверок на NULL для параметров.
  • Улучшено форматирование смешанного содержимого в файлах Razor.

Чтобы включить экспериментальный редактор Razor, перейдите в раздел Сервис > Параметры > Среда > Предварительная версия функций, выберите Включить экспериментальный редактор Razor, а затем перезапустите Visual Studio.

От сообщества разработчиков

На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.

Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.0:


Известные проблемы

Просмотрите все открытые проблемы и доступные решения в Visual Studio 2019, перейдя по ссылке ниже.


Отзывы и предложения

Мы будем рады узнать ваше мнение! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в правом верхнем углу установщика или самой IDE-среды Visual Studio. Классу Feedback Icon находится в правом верхнем углу. Вы можете предлагать для продукта новые функции, задавать вопросы, находить ответы и отслеживать решение своих проблем в сообществе разработчиков Visual Studio. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.


Блоги

Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.


Журнал заметок о выпуске Visual Studio 2019

Дополнительные сведения о предыдущих версиях Visual Studio 2019 см. на странице Журнал заметок о выпуске Visual Studio 2019.


К началу страницы