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


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


Сообщество разработчиков System Requirementsy | Compatibilitable | Code | Release History | Terms Blogs | New in Visual Studio Docs | (Новые возможности в документации Visual Studio) |


Примечание.

Этот выпуск — не последняя версия Visual Studio. Чтобы скачать последний выпуск, посетите сайт Visual Studio .



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

Visual Studio 2019 версии 16.4 больше не поддерживается.

До конца октября 2021 г. сохранялась поддержка пользователей Enterprise и Professional для Visual Studio 2019 версии 16.4, и они получали исправления уязвимостей системы безопасности. Этот период основан на том, что в августе 2020 г. среда Visual Studio 2019 версии 16.7 была определена как следующая базовая версия продукта Visual Studio 2019. Дополнительные сведения о базовых версиях Visual Studio см. в статье о политике поддержки Visual Studio 2019

Ознакомьтесь с последней версией заметок о выпуске или посетите сайт 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 на сайте сообщества разработчиков


Значок заметок о выпуске Visual Studio 2019 версии 16.4.27

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

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

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

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

Существует потенциальная уязвимость отказа в обслуживании в библиотеке OpenSSL, используемой GIT.

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

Существует потенциальная уязвимость отказа в обслуживании в библиотеке OpenSSL, используемой GIT.

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

Возможный обход флага в библиотеке OpenSSL, используемой GIT.


Значок заметок о выпуске Visual Studio 2019 версии 16.4.26

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

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

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

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

В Visual Studio существует уязвимость, связанная с назначением разрешений после установки рабочей нагрузки "Разработка игр на C++" и выбора рабочей нагрузки "Установщик Unreal Engine". Система уязвима для LPE — во время установки она создает каталог с доступом на запись для всех пользователей.

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

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


Значок заметок о выпуске 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, который не удается проанализировать.


Значок заметок о выпуске Visual Studio 2019 версии 16.4.24

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

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

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

Значок заметок о выпуске Visual Studio 2019 версии 16.4.23

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

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

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

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

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


Значок заметок о выпуске 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.


Значок заметок о выпуске 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 — уязвимость к повышению прав в стандартной службе сбора данных Центра диагностики

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


Значок заметок о выпуске 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 есть уязвимость удаленного выполнения кода. Она обусловлена методами обработки кодировки текста.


Значок заметок о выпуске Visual Studio 2019 версии 16.4.19

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

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


Значок заметок о выпуске 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.


Значок заметок о выпуске 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 существует уязвимость, приводящая к отказу в обслуживании.


Значок заметок о выпуске Visual Studio 2019 версии 16.4.16

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

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

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

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

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


Значок заметок о выпуске Visual Studio 2019 версии 16.4.15

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

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

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

CVE-2020-17100 — уязвимость к незаконному изменению данных в Visual Studio

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


Значок заметок о выпуске 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.

Значок заметок о выпуске 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.

Значок заметок о выпуске Visual Studio 2019 версии 16.4.12

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

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

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

CVE-2020-1597

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


Значок заметок о выпуске 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.


Значок заметок о выпуске 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 — уязвимость к повышению прав в стандартной службе сборщика Центра диагностики

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


Значок заметок о выпуске 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

Значок заметок о выпуске 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 обрабатывает веб-запросы.


Значок заметок о выпуске 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-адресов и их отправке во вспомогательные приложения учетных данных существует уязвимость, связанная с утечкой учетных данных. Это может привести к тому, что учетные данные будут отправлены на неправильный узел.


Значок заметок о выпуске Visual Studio 2019 версии 16.4.6

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

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

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

CVE-2020-0793 и CVE-2020-0810 Diagnostics Hub Standard Collector Service с повышением привилегий

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

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

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

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

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


Значок заметок о выпуске Visual Studio 2019 версии 16.4.5

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

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


Значок заметок о выпуске Visual Studio 2019 версии 16.4.4

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

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


Значок заметок о выпуске 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


Значок заметок о выпуске Visual Studio 2019 версии 16.4.2

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

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


Значок заметок о выпуске 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-адресу, указанному узлом.


Значок заметок о выпуске 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, and 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.

Автор

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

Редактор XAML

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

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

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

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

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

Острова XAML

  • Улучшена поддержка xaml Island: мы добавили поддержку сценария XAML Islands для приложений 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 в списке ошибок
Предупреждения Clang-Tidy в списке ошибок
  • Теперь у проектов Visual Studio CMake есть обзорные страницы, которые помогут приступить к работе с кросс-платформенной разработкой. Эти страницы являются динамическими и помогают подключиться к системе Linux и добавить конфигурацию Linux или WSL в проект CMake.
Обзорные страницы CMake
Обзорные страницы 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

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

Управление вкладками документов в вертикальном списке в левой или правой части редактора
Вертикальные вкладки документов в Visual Studio

Средство отладки закрепленных свойств

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

Определение и проверка объектов путем закрепления свойств с помощью функции
Закрепляемые свойства в Visual Studio

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

  • Вы можете перечислять, проверять, останавливать, запускать и удалять контейнеры.
  • Вы можете просматривать журналы и содержимое файлов для работающих контейнеров, а также открывать окно терминала для связи с контейнерами.
  • Вы можете просматривать, проверять и удалять изображения
Список, проверка, остановка, запуск и удаление контейнеров можно с помощью окна инструментов контейнеров.
Окно инструментов "Контейнеры" в Visual Studio

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

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

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

  • Теперь можно настроить уровень серьезности для правила стиля кода непосредственно в списке ошибок. Наведите курсор на ошибку, предупреждение или предложение. Щелкните их правой кнопкой мыши и выберите Установить серьезность. Затем выберите уровень серьезности, который нужно настроить для этого правила. Новый уровень серьезности правила применится к файлу EDITORCONFIG. То же самое можно делать для анализаторов сторонних поставщиков.
Настройка уровня серьезности для правила непосредственно в списке ошибок
Настройка уровня серьезности для правила непосредственно в списке ошибок
  • Функция "Найти все ссылки" теперь позволяет группировать по типу и элементу.
Группировка по типу и члену в окне
Группировка по типу и члену в окне "Найти все ссылки"
  • Теперь локальную функцию можно сделать статической и передать переменные, определенные вне функции, в объявление и вызовы функции. Поместите курсор на имя локальной функции. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг. Выберите Сделать локальную функцию static.
Превращение локальной функции в статическую
Сделать локальную функцию статической
  • Теперь можно явно передать переменную в локальную статическую функцию. Поместите курсор на переменную в статической локальной функции. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг. Выберите Явно передать переменную в локальную статическую функцию.
Передача переменной в локальную статическую функцию
Передача переменной в локальную статическую функцию

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

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

Xamarin

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


Блоги

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


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

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


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