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


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


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

Community Download Button Professional Download Button Enterprise Download Button


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

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

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

Кроме того, с момента выпуска версии 16.4 в течение 12 месяцев будет поддерживаться версия 16.0, которая была предыдущей базовой версией, и ее поддержка прекратится в январе 2021 года. Обратите внимание, что версии 16.1, 16.2 и 16.3 также уже не поддерживаются. Эти промежуточные выпуски получают исправления только до выпуска следующего дополнительного обновления.

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

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

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

Блог Visual Studio 2019

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


См. полный список всех предложений по внесению изменений в Visual Studio 2019 версии 16.4 на сайте сообщества разработчиков

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

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

основные проблемы, решаемые в Visual Studio 2019 версии 16.4.26

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

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

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

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

В Visual Studio существует уязвимость удаленного выполнения кода, когда он неправильно обрабатывает объекты в памяти. Злоумышленник, успешно использовавший уязвимость, может запускать произвольный код в контексте текущего пользователя.


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

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

Основные проблемы, решенные в Visual Studio 2019 версии 16.4.25

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

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

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.4.24

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

Основные проблемы, решенные в Visual Studio 2019 версии 16.4.24

  • Пакет SDK для .NET 3.1.117, вставленный в Visual Studio 2019.

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

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

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.23

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

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

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


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

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

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.22

  • Исправлена проблема, которая приводила к сбою обновлений при создании администратором нового макета 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.


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

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

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.21

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

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

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

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

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


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

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

Проблемы, исправленные в Visual Studio 2019 версии 16.4.20

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

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

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

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

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


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

Выпущено 10 февраля 2021 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.19


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

Выпущено 09 февраля 2021 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.18

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

CVE-2021-1639 Уязвимость удаленного выполнения кода в языковой службе TypeScript

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

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

При создании веб-запроса HTTPS во время создания цепочки сертификатов X509 существует уязвимость, приводящая к отказу в обслуживании.

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

При удалении метафайлов, когда графический интерфейс по-прежнему ссылается на них, существует уязвимость удаленного выполнения кода. Эта уязвимость существует только в системах, работающих под управлением MacOS или Linux.


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

Выпущено 12 января 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.17

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

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

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

CVE-2020-26870 Уязвимость при удаленном выполнении кода в Visual Studio Installer

Уязвимость удаленного выполнения кода возникает, когда Visual Studio Installer пытается отобразить вредоносные данные Markdown.

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

В реализации Kestrel существует уязвимость, приводящая к отказу в обслуживании.


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

Дата выпуска: 8 декабря 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.16

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

CVE-2020-17156 Уязвимость при удаленном выполнении кода в Visual Studio

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


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

дата выпуска: 10 ноября 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.15

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

CVE-2020-17100 Уязвимость, связанная с незаконным изменением, в Visual Studio

Уязвимость, связанная с незаконным изменением, возникает, когда подключаемый модуль "Инструменты Python для Visual Studio" создает папку python27. Злоумышленник, использующий эту уязвимость, может запускать процессы с повышенными привилегиями.


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

Дата выпуска: 13 октября 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.14

  • Добавлен флаг явного согласия для снижения влияния ошибок JCC на определенных процессорах Intel на производительность.
  • Теперь параметр PGO MEMMAX будет действовать таким образом, чтобы с большей вероятностью учитывать ввод пользователя.
  • Объем памяти, зарезервированный для профилирования с использованием PGO, был уменьшен.
  • Среда выполнения .NET Core 2.1.13 и пакет SDK 3.1.109 (3.1.9) добавлены в Visual Studio 2019.

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

Выпущено 8 сентября 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.13

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

CVE-2020-1130. Уязвимость несанкционированного повышения привилегий в стандартном сборщике центра диагностики

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

CVE-2020-1133. Уязвимость несанкционированного повышения привилегий в стандартном сборщике центра диагностики

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

CVE-2020-16856 Уязвимость при удаленном выполнении кода в Visual Studio

В Visual Studio существует уязвимость удаленного выполнения кода, когда он неправильно обрабатывает объекты в памяти. Злоумышленник, успешно использовавший уязвимость, может запускать произвольный код в контексте текущего пользователя.

CVE-2020-16874 Уязвимость при удаленном выполнении кода в Visual Studio

В Visual Studio существует уязвимость удаленного выполнения кода, когда он неправильно обрабатывает объекты в памяти. Злоумышленник, успешно использовавший уязвимость, может запускать произвольный код в контексте текущего пользователя.

CVE-2020-1045 Уязвимость обхода функции безопасности в Microsoft ASP.NET Core

В способе Microsoft ASP.NET ядро анализирует закодированные имена файлов cookie, существует уязвимость обхода функций безопасности. Средство синтаксического анализа файлов cookie ASP.NET Core декодирует все строки cookie, что может позволить злоумышленнику установить второй файл cookie с именем, закодированным в процентах.

Дополнительные исправления в 16.4.13

  • Исправлена проблема, которая иногда приводила к зависанию Visual Studio или MSBuild после отмены сборки C++.
  • Неподдерживаемые версии .NET Core больше не будут переустанавливаться во время восстановления или обновления, если они были удалены за пределами Visual Studio.

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

Выпущено 11 августа 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.12

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

CVE-2020-1597

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


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

Выпущено 14 июля 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.11

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

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

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

CVE-2020-1416. Уязвимость к повышению привилегий в Visual Studio

Уязвимость, связанная с повышением привилегий, возникает в Visual Studio при загрузке зависимостей программного обеспечения.

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

В роли удаленного пользователя, не прошедшего проверку подлинности, злоумышленник может направлять созданные особым образом запросы приложению ASP.NET Core или другому приложению, которое анализирует определенные типы XML. Обновление для системы безопасности устраняет уязвимость путем ограничения типов, которые могут находиться в полезных данных XML.


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

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

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.10

  • Исправлена ошибка, из-за которой могли восстанавливаться неправильные значения после setjmp.

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

CVE-2020-1108 / CVE-2020-1108 Уязвимость .NET Core, приводящая к отказу в обслуживании

Для комплексного устранения уязвимости CVE-2020-1108 корпорация Майкрософт выпустила обновления для .NET Core 2.1 и .NET Core 3.1. Клиенты, использующие любую из этих версий .NET Core, должны установить последнюю версию .NET Core. Последние номера версий и инструкции по обновлению .NET Core см. в заметках о выпуске.

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

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

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

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


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

Выпущено 27 мая 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.9

  • Исправлена ошибка кэширования в анализе, используемом при оптимизации, в результате чего удалены инструкции, ошибочно помеченные как ненужные. Исправление заключается в обнаружении ситуаций, когда в противном случае в кэше хранились бы устаревшие данные. Трудно полностью определить момент проявления ошибки, но в отчете был указан оператор остатка от деления в индексе в цикле. На будущее мы добавили (неподдерживаемый) флаг /d2ssa-bit-estimator-, позволяющий полностью отключить конкретную оптимизацию. Этот флаг был добавлен вместе с исправлением и отсутствует в предыдущих версиях.
  • Добавлена поддержка компенсации снижения производительности, вызываемого обновлением микрокода для устранения ошибки Intel Jump Conditional Code (JCC) в некоторых процессорах Intel.
  • Исправлен вывод ложных предупреждений C6244 и сбой cl.exe во время анализа кода, вызываемые локальными переменными в лямбда-выражениях.
  • Выполнение ICE в PREfast 16.5 для кода Office

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

Выпущено 12 мая 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.8

  • Добавлено изменение, которое позволяет ИТ-администраторам предприятия и инженерам по развертыванию настраивать такие средства, как клиент Центра обновления Майкрософт и SCCM, чтобы определить применимость обновлений VS2019 16.4, размещенных в каталоге Центра обновления Майкрософт и WSUS.

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

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

В роли удаленного пользователя, не прошедшего проверку подлинности, злоумышленник может направлять приложению .NET Core созданные особым образом запросы. Это обновление для безопасности устраняет эту уязвимость, исправляя методы, которыми веб-приложение .NET Core обрабатывает веб-запросы.

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

В роли удаленного пользователя, не прошедшего проверку подлинности, злоумышленник может направлять приложению ASP.NET Core созданные особым образом запросы. Это обновление для безопасности устраняет эту уязвимость, исправляя методы, которыми веб-приложение ASP.NET Core обрабатывает веб-запросы.


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

Дата выпуска: 14 апреля 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.7

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

CVE-2020-0899 Уязвимость, связанная с повышением привилегий в Microsoft Visual Studio

Когда служба обновления Microsoft Visual Studio неправильно обрабатывает разрешения на доступ к файлам, существует уязвимость, связанная с повышением привилегий. Злоумышленник, успешно воспользовавшийся этой уязвимостью, может перезаписать содержимое произвольного файла в контексте безопасности локальной системы.

CVE-2020-0900 Уязвимость, связанная с повышением привилегий в службе установщика расширений Visual Studio

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

CVE-2020-5260 Уязвимость, связанная с утечкой учетных данных Git для Visual Studio из-за недостаточной проверки URL-адресов

При анализе специально созданных URL-адресов и их отправке во вспомогательные приложения учетных данных существует уязвимость, связанная с утечкой учетных данных. Это может привести к тому, что учетные данные будут отправлены на неправильный узел.


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

Дата выпуска: 10 марта 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.6

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

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

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

CVE-2020-0884. Уязвимость спуфинга при создании веб-надстройки Outlook

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

CVE-2020-0789. Уязвимость отказа в обслуживании службы установщика расширений Visual Studio

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


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

Выпущено 11 февраля 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.5


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

Выпущено 30 января 2020 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.4


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

Выпущено 14 января 2020 г.

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

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

В роли удаленного пользователя, не прошедшего проверку подлинности, злоумышленник может направлять приложению ASP.NET Core созданные особым образом запросы. Это обновление для безопасности устраняет эту уязвимость, исправляя методы, которыми веб-приложение ASP.NET Core обрабатывает веб-запросы.

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

В роли удаленного пользователя, не прошедшего проверку подлинности, злоумышленник может направлять приложению ASP.NET Core созданные особым образом запросы. Это обновление для безопасности устраняет эту уязвимость, исправляя методы, которыми веб-приложение ASP.NET Core обрабатывает выполнение в памяти.

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

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

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

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

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.3


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

Дата выпуска: 17 декабря 2019 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.2


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

Дата выпуска: 10 декабря 2019 г.

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4.1

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

CVE-2019-1349 Уязвимость удаленного выполнения в Git для Visual Studio из-за слишком слабых ограничений в именах подмодулей

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

CVE-2019-1350 Уязвимость удаленного выполнения в Git для Visual Studio из-за неправильного заключения в кавычки аргументов командной строки

Уязвимость удаленного выполнения кода существует, когда Git интерпретирует аргументы командной строки с определенными кавычками во время рекурсивного клонирования в сочетании с URL-адресами SSH. Злоумышленник, использующий эту уязвимость, может удаленно выполнить код на целевом компьютере. Обновление для системы безопасности устраняет уязвимость, принимая новую версию Git для Windows, где эта проблема исправлена.

CVE-2019-1351 Уязвимость перезаписи произвольных файлов в Git для Visual Studio из-за использования небуквенных имен дисков во время клонирования

В Git существует уязвимость перезаписи произвольных файлов, когда небуквенные имена дисков обходят проверки безопасности в git clone. Злоумышленник, использующий эту уязвимость, может удаленно выполнить запись в произвольные файлы на целевом компьютере. Обновление для системы безопасности устраняет уязвимость, принимая новую версию Git для Windows, где эта проблема исправлена.

CVE-2019-1352 Уязвимость удаленного выполнения в Git для Visual Studio из-за неосведомленности об альтернативных потоках данных NTFS

В Git существует уязвимость удаленного выполнения кода при клонировании и записи в .git/directory через альтернативные потоки данных NTFS. Злоумышленник, использующий эту уязвимость, может удаленно выполнить код на целевом компьютере. Обновление для системы безопасности устраняет уязвимость, принимая новую версию Git для Windows, где учитываются альтернативные потоки данных NTFS.

CVE-2019-1354 Уязвимость перезаписи произвольных файлов в Git для Visual Studio из-за отсутствия отказа записывать отслеженные файлы с обратными косыми чертами

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

CVE-2019-1387 Уязвимость удаленного выполнения в Git для Visual Studio из-за слишком слабой проверки имен подмодулей в рекурсивных клонах

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

CVE-2019-1486 Уязвимость перенаправления URL-адресов для расширений Live Share

В расширении Visual Studio Live Share обнаружена уязвимость спуфинга, когда гостевой пользователь, подключенный к сеансу Live Share, был перенаправлен на произвольный URL-адрес, указанный узлом сеанса. Злоумышленник мог бы воспользоваться этой уязвимостью и заставить компьютер гостевого пользователя открыть браузер и перейти по вредоносному URL-адресу без явного согласия. Это было частью функции "Общий сервер" в Live Share, где допускалась автоматическая переадресация портов во время активного сеанса Live Share. Последнее обновление устраняет эту уязвимость, поскольку теперь у гостевого пользователя Live Share запрашивается согласие перед переходом по URL-адресу, указанному узлом.


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

выпущено 3 декабря 2019 г.

Сводка новых возможностей Visual Studio 2019 версии 16.4

  • Visual Studio теперь поддерживает Режим соответствия FIPS
  • Масштаб и расположение конструктора XAML теперь по умолчанию соответствуют режиму "Вписать все".
  • Добавлено диалоговое окно "Создание привязки данных".
  • Улучшения в IntelliSense для элементов #region
  • Фрагменты кода IntelliSense XAML
  • Открытие отдельного всплывающего окна редактора XAML из конструктора
  • Отображение ресурсов для сборок, на которые имеются ссылки
  • Только мой код XAML в динамическом визуальном дереве
  • Объединение словаря ресурсов
  • Поддержка островов XAML
  • Функция "Изменить шаблон" теперь работает с элементами управления из сторонних элементов управления.
  • Поддержка Clang-Tidy в проектах MSBuild и CMake на C++ для Clang и MSVC.
  • Поддержка AddressSanitizer для проектов, скомпилированных с помощью MSVC в Windows.
  • Поддержка публикации локальных репозиториев Git в GitHub.
  • Измените вкладки документов на вертикальный макет с помощью Вертикальных вкладок документов.
  • Дополнения производительности .NET в этом выпуске включают возможность настройки уровня серьезности правила стиля кода непосредственно в списке ошибок, функция "Найти все ссылки" теперь имеет параметр для группирования по типу и члену, а также рефакторинг, чтобы сделать локальную функцию статической и передать переменные, определенные за пределами функции, в объявление и вызовы функции.
  • С помощью новой функции Закрепляемые свойства вы можете быстро настроить способ отображения объектов в окнах отладчика.
  • Окно инструментов "Контейнеры" дополнено возможностью проверки, отмены, запуска и удаления контейнеров и образов Docker
  • Возможность улучшить начальную производительность с помощью автоматического скрытия окон инструментов
  • Автоматическое обнаружение строк подключения к SQL Server и службе хранилища Azure при управлении зависимостями публикации или использовании Подключенных служб
  • Добавлена поддержка разработки Функций Azure с использованием 64-разрядной среды выполнения.
  • Добавлена поддержка вариантов публикации приложений .NET Core 3.0: Ready to Run (Crossgen), Linking и SingleExe
  • Улучшения производительности .NET в этом выпуске включают в себя возможность настраивать уровень серьезности для правила стиля кода непосредственно в редакторе и легко переходить вверх по цепочке наследования с помощью новой команды "Перейти к базовому", а также добавление проверки значения NULL для всех параметров и документации XML для переопределяющих методов.
  • Горячая перезагрузка XAML для Xamarin.Forms
  • Публикация пакета приложений Android
  • Мастер миграции AndroidX
  • Статический анализ кода макета Android

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

Visual Studio теперь поддерживает "Режим соответствия FIPS"

Начиная с версии 16.4, Visual Studio 2019 теперь поддерживает Режим соответствия FIPS 140-2 при разработке приложений и решений для Windows, Azure и .NET. Если вы разрабатываете приложения или решения для сторонних платформ, таких как Linux, iOS или Android, эти платформы могут не использовать утвержденные алгоритмы FIPS 140-2. Стороннее программное обеспечение, включенное в Visual Studio или устанавливаемые вами расширения, может не использовать утвержденные алгоритмы FIPS 140-2. Кроме того, разработка для решений SharePoint не поддерживает режим соответствия FIPS 140-2.

Чтобы настроить режим соответствия FIPS 140-2 для Visual Studio, установите .NET Framework 4,8 и включите параметр групповой политики Windows: "Системные средства шифрования: использовать FIPS-совместимый алгоритм для шифрования, хэширования и подписывания."

Инструментарий WPF/UWP

Клиенты, создающие приложения WPF/UWP, заметят следующие усовершенствования в инструментарии XAML Visual Studio.

Designer

  • Масштаб и расположение конструктора XAML теперь по умолчанию соответствуют режиму "Вписать все". На основе отзывов клиентов мы пересмотрели режим масштабирования по умолчанию в конструкторе XAML, которое осуществляется при открытии страницы, элемента управления или окна XAML и т. д. Предыдущий интерфейс сохранял масштаб и расположение каждого файла в рамках сеансов Visual Studio, что привело к путанице при возврате пользователей к файлу через некоторое время. Начиная с этого выпуска, масштаб и расположение будут сохраняться только в рамках активного сеанса и возвращаться к значениям по умолчанию (режим "Вписать все") после перезапуска Visual Studio.
  • Диалоговое окно "Создание привязки данных". Visual Studio представляла разработчикам .NET Framework WPF доступ к диалоговому окну привязки данных по правому щелчку в конструкторе XAML и обозревателе свойств, кроме того, ранее это диалоговое окно было доступно разработчикам UWP. В этом выпуске мы возвращаем эту возможность для разработчиков UWP и добавляем поддержку приложений .NET Core WPF. Эта функция все еще разрабатывается и будет совершенствоваться, чтобы восстановить равенство функций с диалоговым окном .NET Framework.

Редактор XAML

  • Улучшения в IntelliSense для элементов #region. Начиная с Visual Studio 2015, поддержка #region была доступна для разработчиков XAML UWP и WPF, а недавно она появилась и для Xamarin.Forms. В этом выпуске исправлена ошибка IntelliSense, благодаря чему элементы #region теперь будут отображаться правильно, как только вы начнете вводить <!.
  • Фрагменты кода IntelliSense XAML. Технология IntelliSense была улучшена, чтобы поддерживать отображение фрагментов кода XAML, что будет работать как со встроенными фрагментами, так и с пользовательскими фрагментами, добавляемыми вручную. Начиная с этого выпуска, мы также включаем некоторые готовые фрагменты XAML: #region, определение столбца, определение строки, метод задания и тег.
  • Открытие отдельного всплывающего окна редактора XAML из конструктора. Теперь можно легко разделить конструктор XAML и его базовый редактор XAML на отдельные окна с помощью кнопки Pop up XAML (Открыть всплывающее окно XAML) рядом с вкладкой XAML. При ее нажатии конструктор XAML свернет прикрепленную вкладку XAML и откроет новое окно специально для представления редактора XAML. Это новое окно можно переместить в любую группу отображения или вкладок в Visual Studio. Обратите внимание, что исходное представление XAML все еще можно развернуть, но независимо от этого все представления XAML того же файла останутся синхронизированными в режиме реального времени.
Pop up XAML code window
Всплывающее окно кода XAML
  • Отображение ресурсов для сборок, на которые имеются ссылки. Технология IntelliSense XAML была обновлена для поддержки отображения ресурсов XAML из упоминаемой сборки (если исходный код недоступен) для проектов Framework WPF и .NET Core WPF.

Средства отладки XAML

  • Только мой код XAML в динамическом визуальном дереве. Динамическое визуальное дерево — это функция, доступная для разработчиков UWP и WPF, когда они запускают свое приложение в режиме отладки, и являющаяся частью средств динамического редактирования, связанных с горячей перезагрузкой XAML. Ранее эта функция отображала полное динамическое визуальное дерево подключенного выполняющегося приложения без фильтра, позволяя просмотреть только тот код XAML, который вы написали в приложении. Такой подход вызвал бурное обсуждение, и мы, основываясь на отзывах пользователей, добавили новый режим по умолчанию Just My XAML (Только мой код XAML), ограничивающий дерево только теми элементами управления, которые вы указали в своем приложении. Хотя это новый режим по умолчанию, все еще можно вернуться к предыдущему режиму с помощью кнопки в самом динамическом визуальном дереве или нового параметра (находится в разделе: "Параметры" > "Отладка" > "Общие" > Enable Just My XAML [Включить только мой код XAML])
Show Just My XAML in Live Visual Tree
Отображение только моего кода XAML в динамическом визуальном дереве

Ресурсы и шаблоны

  • Объединение словаря ресурсов. Теперь можно легко объединить существующий словарь ресурсов в проекте UWP или WPF с любым допустимым файлом XAML, используя новую функцию в обозревателе решений. Просто откройте файл XAML, в который нужно добавить инструкцию объединения, а затем найдите файл, с которым нужно выполнить объединение, и щелкните его правой кнопкой мыши в обозревателе решений. В контекстном меню выберите параметр Merge Resource Dictionary Into Active Window (Объединить словарь ресурсов с активным окном), который добавит подходящий код объединения XAML с путем.
Merge Resource Dictionary
Объединение словаря ресурсов
  • Функция "Изменить шаблон" теперь работает с элементами управления из сторонних элементов управления. Теперь можно создать копию шаблона элементов управления, даже если он не является частью вашего решения в качестве исходного кода. В результате этого изменения функция "Изменить шаблон" будет доступна и будет работать как и в случае с собственными элементами, где исходный код сейчас доступен. Обратите внимание, что эта функция применима как к сторонним библиотекам элементов управления, так и к собственным элементам, где исходный код недоступен.

Острова XAML

  • Улучшена поддержка островов XAML. Мы добавили поддержку островов XAML для Windows Forms и приложений WPF .NET Core 3, что упрощает добавление элемента управления XAML UWP в эти приложения. После этих улучшений проект .NET Core 3 может ссылаться на проект UWP, который содержит пользовательские элементы управления XAML UWP. Эти пользовательские элементы управления можно использовать из элементов управления WindowsXamlHost, которые поставляются в наборе средств Windows Community Toolkit версии 6 (Microsoft.Toolkit.Wpf.UI.XamlHost v6.0). Вы также можете использовать проект упаковки приложений Windows, чтобы создать MSIX для .NET Core 3 с островами. Сведения для начала работы см. в документации.

C++

  • При анализе кода реализована встроенная поддержка средства Clang-Tidy для проектов MSBuild и CMake при использовании набора инструментов MSVC или Clang. Проверки clang-tidy могут выполняться в рамках анализа кода в фоновом режиме, а их результаты отображаются в виде предупреждений в редакторе (подчеркивания) и в Списке ошибок.
Clang-Tidy warnings in the Error List
Предупреждения Clang-Tidy в списке ошибок
  • Теперь у проектов Visual Studio CMake есть обзорные страницы, которые помогут приступить к работе с кросс-платформенной разработкой. Эти страницы являются динамическими и помогают подключиться к системе Linux и добавить конфигурацию Linux или WSL в проект CMake.
CMake Overview Pages
Обзорные страницы CMake
  • Раскрывающееся меню запуска для проектов CMake теперь отображает последние использованные целевые объекты и может быть отфильтровано.
  • C++/CLI теперь поддерживает взаимодействие с .NET Core 3.1 и более поздними версиями в Windows.
  • Теперь можно включить ASan для проектов, скомпилированных с помощью MSVC в Windows, для инструментирования кода C++ в среде выполнения, чтобы обнаруживать ошибки памяти.
  • Обновления стандартной библиотеки C++ MSVC:
    • C++17 Реализована общая точность to_chars(), выполнение P0067R5 Преобразования элементарных строк (charconv). Это завершает реализацию всех функций библиотеки в C++ 17 Standard.
    • C++20. Реализовано P1754R1 Переименование концепций в standard_case. Чтобы включить предварительные версии функций из последнего рабочего черновика C++, используйте флаг компилятора/std:c++latest. Кроме того, флаг можно задать на странице свойств проекта языка C/C++ с помощью свойства стандарта языка C++.
  • Теперь доступна новая коллекция средств C++ Build Insights. Дополнительные сведения см. в блоге команды разработчиков C++.

Публикация в службе поддержки GitHub

  • Функция публикации на GitHub, которая была частью расширения GitHub для Visual Studio , теперь включена в основные компоненты GitHub Visual Studio.
  • Теперь вы можете опубликовать локальные репозитории Git на GitHub с помощью кнопки "Опубликовать на GitHub" на странице синхронизации Team Explorer.

Вертикальные вкладки документов в Visual Studio

Управляйте вкладками документов в вертикальном списке в левой или правой части редактора.

Manage your document tabs in a vertical list on either the left or right side of your editor
Вертикальные вкладки документов в Visual Studio

Средство отладки "Закрепляемые свойства"

Теперь вы можете быстро находить и проверять объекты во время отладки, закрепив свойства в верхней части окон DataTips, Watch, Autos и Locals с помощью функции "Закрепляемые свойства".

Identify and inspect objects by pinning properties using the Pinnable Properties feature
Закрепляемые свойства в Visual Studio

Окно инструментов "Контейнеры"

  • Вы можете перечислять, проверять, останавливать, запускать и удалять контейнеры.
  • Вы можете просматривать журналы и содержимое файлов для работающих контейнеров, а также открывать окно терминала для связи с контейнерами.
  • Вы можете просматривать, проверять и удалять образы.
You can list, inspect, stop, start, and remove containers through the containers tool window.
Окно инструментов "Контейнеры" в Visual Studio

Автоматическое скрытие окон инструментов

Включение этой предварительной версии функции позволяет пропустить задержки запуска, появившиеся при запуске Visual Studio с несколькими открытыми окнами инструментов.

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

  • Теперь можно настроить уровень серьезности для правила стиля кода непосредственно в списке ошибок. Наведите курсор на ошибку, предупреждение или предложение. Щелкните их правой кнопкой мыши и выберите Установить серьезность. Затем выберите уровень серьезности, который нужно настроить для этого правила. Новый уровень серьезности правила применится к файлу EDITORCONFIG. То же самое можно делать для анализаторов сторонних поставщиков.
Set rule severity directly through the error list
Настройка уровня серьезности для правила непосредственно в списке ошибок
  • Функция "Найти все ссылки" теперь позволяет группировать по типу и элементу.
Group by type and member in Find All References
Группировка по типу и члену в окне "Найти все ссылки"
  • Теперь локальную функцию можно сделать статической и передать переменные, определенные вне функции, в объявление и вызовы функции. Поместите курсор на имя локальной функции. Нажмите CTRL+. , чтобы открыть меню Быстрые действия и рефакторинг. Выберите Сделать локальную функцию static .
Make local function static
Сделать локальную функцию статической
  • Теперь можно явно передать переменную в локальную статическую функцию. Поместите курсор на переменную в статической локальной функции. Нажмите CTRL+. , чтобы открыть меню Быстрые действия и рефакторинг. Выберите Явно передать переменную в локальную статическую функцию.
Pass a variable into a local static function
Передача переменной в локальную статическую функцию

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

  • Теперь можно настроить уровень серьезности для правила стиля кода непосредственно в редакторе. Если у пользователя в настоящее время нет файла EDITORCONFIG, он будет создан автоматически. Установите курсор в ошибке, предупреждении или предложении и нажмите CTRL+. , чтобы открыть меню Быстрые действия и рефакторинг. Выберите пункт "Настроить или подавить ошибки". Затем выберите правило и уровень серьезности, который нужно настроить для него. Новый уровень серьезности правила применится к файлу EDITORCONFIG. То же самое можно делать для анализаторов сторонних поставщиков.
Set rule severity directly through the editor
Настройка уровня серьезности для правила непосредственно в редакторе
  • Теперь можно переходить вверх по цепочке наследования с помощью команды Перейти к базовому. Команда "Перейти к базовому" находится в контекстном меню элемента, по иерархии наследования которого нужно перейти. Кроме того, можно нажать клавиши ALT+HOME. Если имеется более одного результата, откроется окно инструментов со всеми результатами, к которым можно перейти.
Go To Base
Перейти к базовому
  • Теперь можно добавлять проверку на NULL для всех параметров. При этом добавляются операторы if, которые проверяют наличие значения NULL для всех непроверенных параметров, допускающих это значение. Поместите курсор в любой параметр в методе. Нажмите CTRL+. , чтобы открыть меню Быстрые действия и рефакторинг. Выберите параметр Add null checks for all parameters (Добавить проверки значений NULL для всех параметров).
Add null checks for all parameters
Добавление проверки на NULL для всех параметров
  • Методы, которые не имеют XML-документации, теперь могут автоматически наследовать XML-документацию от переопределяемого метода. Наведите курсор на недокументированный метод, реализующий документированный метод интерфейса. В поле кратких сведений будет показана XML-документация метода интерфейса. Также можно использовать тег <inheritdoc> для наследования XML-комментариев от базовых классов и интерфейсов. Пример с документацией.
XML inherit documentation
Наследование XML-документации

Xamarin

Горячая перезагрузка XAML для Xamarin.Forms

Горячая перезагрузка XAML для Xamarin.Forms ускоряет разработку и упрощает создание, экспериментирование и итерации в пользовательском интерфейсе. Вам больше не нужно перестраивать приложение каждый раз при настройке пользовательского интерфейса — он сразу же отображает изменения в работающем приложении.

Публикация пакета приложений Android

Теперь вы можете создавать пакеты приложений Android при публикации приложений Android в Visual Studio. Пакеты приложений предоставляют пользователям оптимизированные пакеты APK в соответствии со спецификациями устройств при загрузке приложения из Google Play Маркет или различных магазинов приложений Android.

Android App Bundle Publishing
Публикация пакета приложений Android

Мастер миграции AndroidX

Теперь можно использовать мастер миграции AndroidX для преобразования существующего приложения Android в AndroidX из библиотеки поддержки Android.

AndroidX Migration Wizard
Мастер миграции AndroidX

Статический анализ кода макета Android

Теперь вы видите сведения о ряде распространенных проблем при редактировании макетов в конструкторе Android.

Android Layout Linting
Статический анализ кода макета Android

Основные проблемы, исправленные в Visual Studio 2019 версии 16.4


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

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

Visual Studio 2019 Known Issues


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

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


Блоги

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


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

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


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