Заметки о выпуске Visual Studio 2019 версии 16.9
Сообщество разработчиков System Requirementsy | Compatibilitable | Code | Release History | Terms Blogs | New in Visual Studio Docs | (Новые возможности в документации Visual Studio) |
Примечание.
Этот выпуск — не последняя версия Visual Studio. Чтобы скачать последний выпуск, посетите сайт Visual Studio .
Новые возможности Visual Studio 2019 версии 16.9
Поддержка диапазона времени
Visual Studio 2019 версии 16.9 является четвертой поддерживаемой базовой версией Visual Studio 2019. Клиентам Enterprise и Professional, которым нужно применить долгосрочную стабильную и безопасную среду разработки, мы рекомендуем основывать свои стандарты именно на этой версии. Как разъясняется в нашей политике жизненного цикла и поддержки, выпуск исправлений и обновлений безопасности для версии 16.9 продолжится до конца октября 2022 г. В октябре 2022 г. будет год с момента выпуска Visual Studio 2019 версии 16.11, которая была объявлена как последняя обслуживаемая базовая версия.
Кроме того, с момента выпуска версии 16.9 в течение 12 месяцев будет поддерживаться версия 16.7, которая была предыдущей базовой версией и поддержка которой прекратится в апреле 2022 года. Обратите внимание, что версия 16.8 также уже не поддерживается. Эти промежуточные выпуски получают исправления только до выпуска следующего дополнительного обновления.
Последнюю безопасную версию Visual Studio 2019 версии 16.9 можно получить в разделе скачивания my.visualstudio.com. Ознакомьтесь с последней версией заметок о выпуске или посетите сайт Visual Studio , чтобы скачать последнюю поддерживаемую версию Visual Studio 2019. Дополнительные сведения о базовых версиях Visual Studio см. в статье о политике поддержки Visual Studio 2019.
Выпуски Visual Studio 2019 версии 16.9
- 11 октября 2022 г. — Visual Studio 2019 версии 16.9.26
- 13 сентября 2022 г. — Visual Studio 2019 версии 16.9.25
- 9 августа 2022 г. — Visual Studio 2019 версии 16.9.24
- 12 июля 2022 г. — Visual Studio 2019 версии 16.9.23
- 14 июня 2022 г. — Visual Studio 2019 версии 16.9.22
- 10 мая 2022 г. — Visual Studio 2019 версии 16.9.21
- 19 апреля 2022 г. — Visual Studio 2019 версии 16.9.20
- 12 апреля 2022 г. — Visual Studio 2019 версии 16.9.19
- 8 марта 2022 г. — Visual Studio 2019 версии 16.9.18
- 8 февраля 2022 г. — Visual Studio 2019 версии 16.9.17
- 11 января 2022 г. — Visual Studio 2019 версии 16.9.16
- 14 декабря 2019 г. — Visual Studio 2021 версии 16.9.15
- 16 ноября 2021 г. — Visual Studio 2019 версии 16.9.14
- 9 ноября 2021 г. — Visual Studio 2019 версии 16.9.13
- 12 октября 2021 г. — Visual Studio 2019 версии 16.9.12
- 14 сентября 2021 г. —Visual Studio 2019 версии 16.9.11
- 10 августа 2021 г. — Visual Studio 2019 версии 16.9.10
- 13 июля 2021 г. — Visual Studio 2019 версии 16.9.9
- 15 июня 2021 г. — Visual Studio 2019 версии 16.9.8
- 8 июня 2021 г. — Visual Studio 2019 версии 16.9.7
- 18 мая 2021 г. — Visual Studio 2019 версии 16.9.6
- 11 мая 2021 г. — Visual Studio 2019 версии 16.9.5
- 13 апреля 2021 г. — Visual Studio 2019 версии 16.9.4
- 30 марта 2021 г. — Visual Studio 2019 версии 16.9.3
- 16 марта 2021 г. — Visual Studio 2019 версии 16.9.2
- 9 марта 2021 г. — Visual Studio 2019 версии 16.9.1
- 2 марта 2021 г. — Visual Studio 2019 версии 16.9.0
Помещенные в архив заметки о выпуске Visual Studio 2019
- Заметки о выпуске Visual Studio 2019 версии 16.8
- Заметки о выпуске Visual Studio 2019, версия 16.7
- Заметки о выпуске Visual Studio 2019, версия 16.6
- Заметки о выпуске Visual Studio 2019 версии 16.5
- Заметки о выпуске Visual Studio 2019 версии 16.4
- Заметки о выпуске Visual Studio 2019 версии 16.3
- Заметки о выпуске Visual Studio 2019 версии 16.2
- Заметки о выпуске Visual Studio 2019 версии 16.1
- Заметки о выпуске Visual Studio 2019 версии 16.0
Блог Visual Studio 2019
Блог Visual Studio 2019 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2019 версии 15.9 можно найти в следующих записях:
- Уже доступно! Visual Studio 2019, версия 16.9 и 16.10, предварительная версия 1
- Visual Studio 2019 версии 16.9, предварительная версия 3, доступна уже сегодня!
- Выпуск Visual Studio 2019 версии 16.9 (предварительная версия 2) доступен вместе с новогодними пожеланиями!
- Выпуск Visual Studio 2019 версии 16.8 и 16.9 (предварительная версия) доступен уже сегодня!
- Новые возможности Visual Studio 2019 версии 16.8, предварительная версия 3.1
- Сегодня выходит Visual Studio 2019 версии 16.8, предварительная версия 2 с новыми возможностями!
- Сегодня выходит Visual Studio 2019 версий 16.7 и 16.8, предварительная версия 1!
- Visual Studio 2019 версии 16.7, предварительная версия 2, доступна уже сегодня!
- Новые интересные обновления для пользовательского интерфейса Git в Visual Studio
- Выпуск сегодня! Visual Studio 2019, версия 16.6 и 16.7, предварительная версия 1
- Visual Studio 2019 версии 16.6, предварительная версия 2 — новые возможности
- Visual Studio 2019 версии 16.5 теперь доступна!
- Время выпуска Visual Studio 2019 версии 16.4
- Visual Studio 2019 версии 16.4, предварительная версия 2, Fall Sports и Pumpkin Spice
- Поддержка .NET Core и другие возможности в Visual Studio 2019 версии 16.3 — выполните обновление сейчас!
- Выпущены Visual Studio 2019 версии 16.3, предварительная версия 2, и Visual Studio 2019 для Mac версии 8.3, предварительная версия 2!
- Visual Studio 2019 версии 16.2 и 16.3, предварительная версия 1, теперь доступна
- Visual Studio 2019 версии 16.2, предварительная версия 2
- Visual Studio 2019 версии 16.1 и 16.2, предварительная версия
- Visual Studio 2019. Пишите код быстрее. Автоматизируйте работу. Создавайте будущее.
Visual Studio 2019 версии 16.9.26
Выпущено 11 октября 2022 г.
Проблемы, устраненные в этом выпуске
- Администраторы смогут обновить установщик VS на автономном клиентском компьютере из макета без обновления VS.
Советы по безопасности
- УЯЗВИМОСТЬ CVE-2022-41032 .NET с повышением привилегий существует в .NET 7.0.0-rc.1, .NET 6.0, .NET Core 3.1 и клиентах NuGet (NuGet.exe, NuGet.Commands, NuGet.CommandLine, NuGet.Protocol), где злоумышленник может вызвать произвольный код.
Visual Studio 2019 версии 16.9.25
Советы по безопасности
- CVE-2022-38013 .NET С уязвимостью типа "отказ в обслуживании " существует в ASP.NET Core 3.1 и .NET 6.0, где вредоносный клиент может вызвать переполнение стека, что может привести к атаке типа "отказ в обслуживании", когда злоумышленник отправляет настраиваемую полезные данные, анализируемые во время привязки модели.
Visual Studio 2019 версии 16.9.24
Выпущено 9 августа 2022 г.
Проблемы, устраненные в этом выпуске
- Обновляет Git для Windows до версии 2.37.1.1, обращаясь к CVE-2022-31012.
Советы по безопасности
- CVE-2022-34716 .NET Information Disclosure Уязвимость , связанная с раскрытием информации, существует в .NET 6.0 и .NET Core 3.1, что может привести к несанкционированного доступа к привилегированным данным.
- Установщик удаленного выполнения кода CVE-2022-31012 для Windows можно обмануть при выполнении ненадежного двоичного файла.
- CVE-2022-29187 Повышение привилегий вредоносных пользователей может создать каталог Git в папке, принадлежащей супер-пользователю
- CVE-2022-35777 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap overflow Уязвимость
- Cve-2022-35825 Remote Code Execution Visual Studio 2022 Preview Fbx File parser OOBW Уязвимость
- CVE-2022-35826 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap overflow Уязвимость
- CVE-2022-35827 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap OOBW Уязвимость
Visual Studio 2019 версии 16.9.23
Выпущено 14 июня 2022 г.
Проблемы, устраненные в этом выпуске
- Обновленный LibraryManager для размещения изменений в API cdnjs
Советы по безопасности
- Уязвимость CVE-2022-30184 .NET Information Disclosure A существует в .NET 6.0 и .NET Core 3.1 в NuGet, где может произойти утечка учетных данных.
- Уязвимость к повышению прав CVE-2022-24513. Существует потенциальная уязвимость к повышению прав, когда служба обновления Microsoft Visual Studio неверно анализирует данные локальной конфигурации.
Visual Studio 2019 версии 16.9.21
Дата выпуска: 10 мая 2022 г.
Проблемы, устраненные в этом выпуске
- Версия Git для Windows, используемая Visual Studio, и устанавливаемый дополнительный компонент обновлены до версии 2.36.0.1.
- Исправлена проблема с интеграцией Git, из-за которой при извлечении или синхронизации расходящихся ветвей в окне вывода не отображалась локализованная подсказка о том, как ее решить.
Советы по безопасности
CVE-2022-29117 уязвимость .NET, связанная с отказом в обслуживании В .NET 6.0, .NET 5.0 и .NET Core 3.1 существует уязвимость, при которой вредоносный клиент может манипулировать файлами cookie и вызывать отказ в обслуживании.
CVE-2022-23267 уязвимость .NET, связанная с отказом в обслуживании В .NET 6.0, .NET 5.0 и .NET Core 3.1 существует уязвимость, при которой вредоносный клиент может вызывать отказ в обслуживании из-за избыточного выделения памяти через HttpClient.
CVE-2022-29145 уязвимость .NET, связанная с отказом в обслуживании В .NET 6.0, .NET 5.0 и .NET Core 3.1 существует уязвимость, при которой вредоносный клиент может вызывать отказ в обслуживании при анализе HTML-форм.
Уязвимость к повышению прав CVE-2022-24513. Существует потенциальная уязвимость к повышению прав, когда служба обновления Microsoft Visual Studio неверно анализирует данные локальной конфигурации.
Visual Studio 2019 версии 16.9.20
Дата выпуска: 19 апреля 2022 г.
Проблемы, устраненные в этом выпуске
- Исправлена регрессия vctip.exe из версии 16.9.19.
Visual Studio 2019 версии 16.9.19
Дата выпуска: 12 апреля 2022 г.
Проблемы, устраненные в этом выпуске
Советы по безопасности
Уязвимость к повышению прав CVE-2022-24765. В Git для Windows существует потенциальная уязвимость к повышению прав, связанная с возможностью выполнять операции Git вне репозитория при поиске каталога Git. Версия Git для Windows обновлена до 2.35.2.1.
Уязвимость загрузки DLL CVE-2022-24767. В установщике Git для Windows существует потенциальная уязвимость загрузки DLL при запуске средства удаления с учетной записью пользователя SYSTEM. Версия Git для Windows обновлена до 2.35.2.1.
Уязвимость к повышению прав CVE-2022-24513. Существует потенциальная уязвимость к повышению прав, когда служба обновления Microsoft Visual Studio неверно анализирует данные локальной конфигурации.
Visual Studio 2019 версии 16.9.18
Выпущено 8 марта 2022 г.
Проблемы, устраненные в этом выпуске
Советы по безопасности
Уязвимость CVE-2020-8927 — уязвимость удаленного выполнения кода в .NET 5.0 и .NET Core 3.1, где в версиях библиотеки Brotli, предшествующих версии 1.0.8, имеется ошибка, связанная с переполнением памяти.
Уязвимость CVE-2022-24464 — уязвимость типа "отказ в обслуживании" в .NET 6.0, .NET 5.0 и .NET CORE 3.1 при анализе определенных типов HTTP-запросов форм.
Уязвимость CVE-2022-24512 — уязвимость удаленного выполнения кода в .NET 6.0, .NET 5.0 и .NET Core 3.1 при переполнении буфера стека в подпрограмме двойного анализа .NET.
CVE-2021-3711: уязвимость переполнения буфера OpenSSL — потенциальная уязвимость переполнения буфера в OpenSSL, который используется Git для Windows. Git для Windows теперь обновлен до версии 2.35.1.2, в которой эта проблема устранена.
Visual Studio 2019 версии 16.9.17
Дата выпуска: 8 февраля 2022 г.
Проблемы, устраненные в этом выпуске
Советы по безопасности
Уязвимость CVE-2022-21986 В .NET версий 5.0 и 6.0 обнаружена уязвимость атаки типа "отказ в обслуживании" при обработке веб-сервером Kestrel определенных HTTP/2-запросов и HTTP/3-запросов.
CVE-2022-21871 Уязвимость несанкционированного повышения привилегий в среде выполнения стандартного сборщика Центра диагностики Уязвимость несанкционированного повышения привилегий возникает, когда стандартный сборщик Центра диагностики неправильно обрабатывает операции с данными.
Visual Studio 2019 версии 16.9.16
Выпущено 11 января 2022 г.
Проблемы, устраненные в этом выпуске
- Исправлен периодический сбой с link.exe при создании больших проектов с помощью Visual Studio 16.8.5 или более поздней версии.
- Исправлена проблема с невозможностью многократной отладки приложений, когда Терминал Windows используется в качестве терминала по умолчанию.
- Исправлен процесс установки для разблокировки клиентов в конфигурациях с ограниченным доступом.
- Исправлена ошибка, из-за которой клиент не мог обновить более новую версию начального загрузчика. Если клиент использует начальный загрузчик и установщик, выпущенные в январе 2022 года или позже, все обновления, использующие последующие начальные загрузчики, должны работать в течение всего жизненного цикла продукта.
От сообщества разработчиков
Visual Studio 2019 версии 16.9.15
Дата выпуска: 14 декабря 2021 г.
Проблемы, устраненные в этом выпуске
- В рабочую нагрузку Python добавлена версия Python 3.9.7. Версия Python 3.7.8 удалена из-за уязвимости системы безопасности.
Советы по безопасности
CVE-2021-43877 Уязвимость В модуле ASP.NET Core существует уязвимость несанкционированного повышения привилегий при размещении приложений .NET Core, .NET 5 и .NET 6 в IIS.
Visual Studio 2019 версии 16.9.14
Дата выпуска: 16 ноября 2021 г.
Проблемы, устраненные в этом выпуске
- Теперь начальные загрузчики учитывают параметр --useLatestInstaller, который приводит к интеграции последнего установщика в макет. Этот последний установщик, который поставляется с Visual Studio 2022, обеспечивает сценарий, в котором предприятиям нужно перевести клиенты из одного расположения в другое. Дополнительные сведения см. в [руководстве администратора Visual Studio](*Теперь начальные загрузчики учитывают параметр --useLatestInstaller, который приводит к интеграции последнего установщика в макет. Этот последний установщик, который поставляется с Visual Studio 2022, обеспечивает сценарий, в котором предприятиям нужно перевести клиенты из одного расположения в другое. Дополнительные сведения см. в руководстве администратора Visual Studio.).
Visual Studio 2019 версии 16.9.13
Дата выпуска: 9 ноября 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена ошибка, из-за которой ссылка на ярлык меню "Пуск" исчезает. Ошибка возникает только при обновлении нескольких экземпляров разных номеров SKU продукта на одном компьютере.
Советы по безопасности
CVE-2021-42319 Уязвимость к повышению привилегий В поставщике WMI, включенном в установщик Visual Studio, есть уязвимость к повышению привилегий.
CVE-2021-42277 Уязвимость к повышению прав в стандартной службе сборщика Центра диагностики Уязвимость, которая может привести к несанкционированному повышению привилегий, возникает, когда стандартный сборщик концентратора диагностики неправильно обрабатывает операции с файлами.
Visual Studio 2019 версии 16.9.12
Дата выпуска: 12 октября 2021 г.
Проблемы, устраненные в этом выпуске
- Обновления интерфейсов ARM64 и ARM64EC между двоичным кодом и средой выполнения инструментирования POGO.
Советы по безопасности
CVE-2021-41355 Уязвимость к раскрытию информации в .NET 5.0
В .NET есть уязвимость к раскрытию информации, которая вызвана тем, что System.DirectoryServices.Protocols.LdapConnection отправляет учетные данные в виде обычного текста в Linux.
CVE-2020-1971 Уязвимость OpenSSL, приводящая к отказу в обслуживании
Существует потенциальная уязвимость отказа в обслуживании в библиотеке OpenSSL, используемой GIT.
CVE-2021-3449 Уязвимость OpenSSL, приводящая к отказу в обслуживании
Существует потенциальная уязвимость отказа в обслуживании в библиотеке OpenSSL, используемой GIT.
CVE-2021-3450 Уязвимость OpenSSL, приводящая к отказу в обслуживании
Возможный обход флага в библиотеке OpenSSL, используемой GIT.
Visual Studio 2019 версии 16.9.11
Выпущено 14 сентября 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена неустранимая внутренняя ошибка компилятора, вызванная неименованными структурами, на поля которых имеются ссылки в аннотациях SAL.
- Исправлен редкий сбой при анализе шаблона кода, использующего __uuidof.
Советы по безопасности
CVE-2021-26434 Уязвимость, связанная с повышением привилегий некорректного назначения разрешений в Visual Studio
В Visual Studio существует уязвимость, связанная с назначением разрешений после установки рабочей нагрузки "Разработка игр на C++" и выбора рабочей нагрузки "Установщик Unreal Engine". Система уязвима для LPE — во время установки она создает каталог с доступом на запись для всех пользователей.
От сообщества разработчиков
- PreFast: Неустранимая ошибка C1001: внутренняя ошибка компилятора
- Сбой сборки WinARM64 с проблемами ссылок MFC/ATL после миграции с VS 16.8.6 на VS 16.9.5
Visual Studio 2019 версии 16.9.10
Выпущено 10 августа 2021 г.
Проблемы, устраненные в этом выпуске
- При создании отчетов об установленных расширениях пути больше не отправляются на диск.
- Исправлена ошибка IntelliSense, возникавшая при обработке статических членов данных в специализациях шаблонов в классе.
- Исправлена проблема, которая затрагивала выполнение команды обновления в командной строке. Если первая попытка обновления завершается сбоем, то при последующем выполнении команды обновление начинается с того места, на котором остановилась предыдущая операция.
Советы по безопасности
CVE-2021-26423 — уязвимость .NET Core к отказу в обслуживании
Существует приводящая к отказу в обслуживании уязвимость, из-за которой серверные приложения .NET (Core), предоставляющие конечные точки WebSocket, могут быть обманным путем втянуты в бесконечный цикл при попытке считать отдельный кадр WebSocket.
CVE-2021-34485 — уязвимость к раскрытию информации в .NET Core
Существует связанная с раскрытием информации уязвимость, когда средство для сбора аварийных дампов и дампов по запросу создает дампы, имеющие глобальные разрешения на чтение в Linux и macOS.
CVE-2021-34532 — уязвимость к раскрытию информации в ASP.NET Core
Существует связанная с раскрытием информации уязвимость, когда регистрируется маркер JWT, который не удается проанализировать.
Visual Studio 2019 версии 16.9.9
Выпущено 13 июля 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена проблема ARM64X, при которой Outlook аварийно завершал работу при использовании надстроек.
- Исправлена проблема, из-за которой компилятор C++ некорректно выполнял преобразования if.
- Исправлена проблема ASan с совместимостью с последними обновлениями Windows.
- ASan больше не сообщает о ложной ошибке перекрытия областей памяти memcpy.
- Шаблон функции с неименованным параметром функции типа массива приводил к тому, что средство синтаксического анализа пропускало последующие определения функции, что приводило к ложной ошибке constexpr о том, что функция не определена, при вычислении вызова к ней в константном выражении. Исправление включает синтаксический анализ пропущенного определения функции.
- Исправлена проблема с производительностью и ложноположительные результаты, вызываемые одним из выражений средства проверки, которое обнаруживало ошибки при неправильном использовании VARIANT.
- Исправлена проблема с производительностью, вызываемая одним из выражений средства проверки, которое обнаруживало ошибки при неправильном использовании значений перечисления в качестве индекса.
- Исправлена утечка памяти при компиляции нескольких единиц пропускной способности.
- Анализатор параллелизма больше не должен выдавать ложные предупреждения C26110 (не удалось получить блокировку) с шаблонами автоматической блокировки.
- Это исправление восстанавливает поведение внешних заголовков, пропуская анализ внешних заголовков и подавляя предупреждения от внешних заголовков.
- Проверка параллелизма в анализе кода стала более интеллектуальной. Они реже дают неверные результаты для сложных потоков управления.
- Исправлена проблема, связанная с созданием макета.
- Устранена проблема, из-за которой обновления могли завершаться сбоем из-за отсутствия сведений о канале обновления.
От сообщества разработчиков
- На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.
- Неправильные предупреждения блокировки от анализатора C26110
- EnforceProcessCountAcrossBuilds выдает предупреждения анализа кода в системных заголовках
- Предупреждение при анализе кода C6285 в STL functional.h в VS 16.10 (предварительная версия 4). Все работало нормально в 16.10 (предварительная версия 2)
- Functional(813): предупреждение C6285
- Предупреждения C28301 в lmaccess.h/bcrypt.h
- Ложноположительный результат C33005 c _variant_t/VARIANT
- Неправильные сообщения C28251 в заголовках Майкрософт после обновления до VS 2019 16.10
- Множество фиктивных предупреждений C28251 и C28301 при выполнении команды /analyze в коде C
Visual Studio 2019 версии 16.9.8
Дата выпуска: 15 июня 2021 г.
От сообщества разработчиков
- На сайте сообщества разработчиков Visual Studio доступен полный список элементов, поставляемых в этом выпуске.
- Санитайзер адресов должен разрешить активацию аварийных дампов без использования переменной среды.
Visual Studio 2019 версии 16.9.7
Дата выпуска: 8 июня 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена проблема в средстве клонирования инструкций SSA.
- Исправлена проблема, которая приводила к сбою mspdbcore.dll.
- Исправлена сборка баз кода клиента, которая работала длительное время, а затем время ожидания истекало.
- Исправлена проблема, которая не позволяла разработчикам выполнять сборку PyTorch.
- Исправляет внутреннюю ошибку MSBuild (MSB0001), возникавшую при создании большой базы кода с помощью 32-разрядного процесса MSBuild.exe.
- Исправлена проблема в окне средства контейнера, вызывающая сбой Visual Studio 2019, возникающая, когда разработчики пытаются просмотреть сопоставленные порты, а затем переключаются на другой контейнер.
Советы по безопасности
CVE-2021-31957 Уязвимость ASP.NET, приводящая к отказу в обслуживании
В ASP.NET Core существует уязвимость, приводящая к отказу в обслуживании из-за неправильной обработки отключения клиента.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненные в выпуске 16.9.7:
Visual Studio 2019 версии 16.9.6
Дата выпуска: 18 мая 2021 г.
Проблемы, устраненные в этом выпуске
- Устранена ошибка "Не удается обратиться к удаленному объекту. Имя объекта: 'System.Net.Http.StringContent'" при попытке создать сертификат или запустить автоматическую подготовку.
- Исправлена проблема, из-за которой функция Горячего перезапуска iOS работала неправильно.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненные в выпуске 16.9.6:
- Неправильное создание кода при указании параметра /O2
- Ошибка при добавлении учетной записи разработчика Apple: служба проверки подлинности недоступна
- Неустранимая ошибка C1001: Внутренняя ошибка компилятора (файл компилятора "D:\a01_work\4\s\src\vctools\Compiler\Utc\src\p2\main.c", строка 213)
- VS 16.9.5 не удается развернуть приложение iOS
Visual Studio 2019 версии 16.9.5
Выпущено 11 мая 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена проблема, при которой инструменты Office не работали должным образом при использовании экспорта.
- Исправлена ошибка, при которой происходило аварийное завершение Visual Studio 2019 во время определенных виртуальных вызовов между DLL-библиотеками x64 и ARM64EC.
- Исправлена ложная ошибка при выполнении многопоточного кода, инструментированного с помощью ASan.
- Исправлена проблема, из-за которой происходил сбой проекта и возникала ошибка "В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL".
- Устранена проблема, из-за которой программа Visual Studio 2019 переставала отвечать на запросы при открытии файла C++ на этапе запуска.
- Исправлена проблема с файлами конфигурации CmakeSettings.json, в которых не удавалось сохранить новые параметры.
- Исправлена внутренняя ошибка компилятора, возникавшая при анализе исходного файла, если путь к нему содержал один или несколько символов, указанных не в кодировке ASCII.
- Исправлена проблема с открытием файлов покрытия, в которых содержалось несколько записей для одной библиотеки.
- Исправлена ошибка, приводившая к отказу в доступе для пользователей, которые выполняли вход с учетными записями, не являющимися рабочими, если удаленный рабочий стол был включен.
- Исправлена ошибка, приводившая к сбою Visual Studio 2019 при настройке меню и нажатии на разделитель в диалоговом окне настройки.
- Плавающие окна документов теперь восстанавливаются при открытии решения.
- Исправлена проблема, которая приводила к сбою обновлений при создании администратором нового макета Visual Studio для развертывания обновлений. Обновление клиентского компьютера завершалось сбоем, так как менялось расположение макета.
- Исправлена проблема, при которой сборка проекта с включенным быстрым развертыванием завершалась ошибкой или развертывание занимало много времени.
- Добавлена поддержка Xcode 12.5.
- Исправлена проблема, которая приводила к сбою обновлений при создании администратором нового макета Visual Studio для развертывания обновлений. Обновление клиентского компьютера завершалось сбоем, так как менялось расположение макета.
Советы по безопасности
CVE-2021-27068 При внедрении python.exe во вложенную папку возможно удаленное выполнение кода
Существует уязвимость, связанная с удаленным выполнением кода, при открытии рабочей области с кодом Python, которая содержит файл python.exe в подпапке scripts.
CVE-2021-31204 Уязвимость, связанная с повышением привилегий в .NET Core
В .NET 5.0 и .NET Core 3.1 существует уязвимость, связанная с повышением уровня привилегий, когда пользователь запускает приложение с одним файлом в операционных системах на основе Linux или macOS.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.5:
- Visual Studio не восстанавливает ранее открытые документы при загрузке решения, если оно было закрыто в плавающих окнах.
- Неправильное предупреждение C26497: функцию fun предлагается пометить как constexpr.
- CMakeSettings.json не изменяет переменные при использовании диалогового окна.
- Нажатие на разделитель в редакторе панелей инструментов приводит к сбою Visual Studio 2019.
- Сборка проекта привязки Xamarin iOS не работает в Visual Studio версии 16.9.
- Сообщение "Произошла ошибка при активации удаленного языкового сервера".
- После обновления до версии 16.9.2 я получаю сообщение об ошибке, связанной с удаленным языковым сервером.
- MSVC разрешает использовать атрибут [[maybe_unused]] в недопустимом расположении.
- После обновления до Visual Studio версии 16.9 компоновщик иногда аварийно завершает работу с кодом 57009.
- Ошибка создания кода при оптимизации.
- Ошибка при добавлении учетной записи разработчика Apple: служба проверки подлинности недоступна.
- Среда выполнения ASAN вызывает случайные сообщения о нарушении прав доступа в windows.storage.dll.
- Не удалось загрузить расширение Visual Studio.
- После обновления Visual Studio 2019 до версии 16.9.4 возникает ошибка компиляции или компоновки.
- В версии 16.9 MsBuild не выполняет инкрементную сборку.
- Сбой Visual Studio при попытке настроить панель инструментов.
Visual Studio 2019 версии 16.9.4
Выпущено 13 апреля 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена ошибка SFINAE с некоторыми формами имен шаблонов в независимых базовых классах.
- Исправлена ситуация, в которой доступ к временному каталогу блокировался при попытке IntelliCode записать журнал во временный каталог.
- Устранена проблема, из-за которой функциональность Visual Studio была ограничена, если было также установлено стороннее программное обеспечение для управления привилегиями.
- Устранена проблема, когда клиенты многократно запускают на Xbox отладку с постоянным увеличением объема используемых ресурсов ядра и в конечном итоге требуется перезапуск Xbox, который приводит к потере состояния.
- Устранено зависание при отладке машинного кода в сборках Windows выпуска Insider Preview.
- Устранена ошибка специальных возможностей, связанная с фокусом клавиатуры.
- В диалоговом окне "Новый проект" возвращены отсутствующие шаблоны Xamarin (библиотека классов iOS/Android, библиотека привязок iOS/Android, Android Wear, Xamarin.UITest). Эти шаблоны были скрыты по ошибке.
- Для проектов C++ на основе CMake, предназначенных для Linux и использующих подключение SSH, восстановлено предыдущее поведение каталога назначения, задаваемого в
CMakeSettings.json
с помощью свойстваremoteCMakeListsRoot
, аналогичное версии 16.8, при котором назначение копирования соответствует корню исходного каталога. Подробные сведения см. в заявке Подключение к удаленному компьютеру Linux использует неверный путь назначения.
Советы по безопасности
CVE-2021-27064 — уязвимость к повышению прав в Visual Studio Installer
Существует уязвимость к удаленному выполнению кода, при котором Visual Studio Installer запускает Feedback Client в состоянии с повышением прав.
CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 — уязвимость к повышению прав в стандартной службе сбора данных Центра диагностики
Уязвимость, которая может привести к несанкционированному повышению привилегий, возникает, когда стандартный сборщик центра диагностики неправильно обрабатывает определенные операции с данными.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.4:
- Обновление Visual Studio 16.8 нарушило зависимости компоновки в проектах MakeFile.
- Ошибка "Некорректная загрузка пакета Environment Package Window Management" при запуске Visual Studio 16.9 после обновления.
- Регрессивный VCXPROJ-файл набора инструментов 16.9, создающий статические библиотеки: PDB больше не копируется в выходные данные.
- Visual Studio зависает во время отладки Win32.
- При подключении к удаленному компьютеру Linux используется неверный конечный путь.
- Не удается найти шаблон библиотеки привязок Xamarin Android в Visual Studio 2019.
- Не удалось запустить Visual Studio из-за ошибки System.InvalidOperationException: контроллер не отвечает на входящие запросы.
- Ошибка SFINAE "Не удалось указать шаблон псевдонима" в Visual Studio 2019 версии 16.9.
- Средство ASAN несовместимо с часами реального времени.
- После обновления до версии Visual Studio 2019 в редакторе возникает определенная ошибка.
Visual Studio 2019 версии 16.9.3
Выпущено 30 марта 2021 г.
Проблемы, устраненные в этом выпуске
- Исправлена ошибка, при которой в MSBuild возникал сбой при попытке сборки решения, содержащего проект веб-сайта, с помощью файла MSBuild.exe.
- Исправлена ошибка, при которой возникал сбой, вызванный некоторыми зависимостями ServiceHub.
- Исправлена проблема с блокировкой, из-за которой пользователям средства визуальной диагностики XAML на устройствах Xbox или IoT была запрещена удаленная отладка.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.3.
- Ошибка в файле web.config
- Необходимость выбора профиля публикации перед публикацией
- Прекращение работы ServiceHub.Host.CLR.X86 после обновления с версии 16.8 на версию 16.9
- Аварийное завершение работы Visual Studio 2019 версии 16.9.2 после открытия редактора XAML
- Проблемы с последним обновлением Visual Studio 2019
Visual Studio 2019 версии 16.9.2
Выпущено 16 марта 2021 г.
Проблемы, устраненные в этом выпуске
- Обновлены имена указателей на глобальные функции ARM64X.
- Исправлена ошибка, возникающая при извлечении первого OBJ из ARM64X LIB с помощью link -lib -extract.
- Исправлена ошибка, когда код, скомпилированный с помощью санитайзера адресов и оптимизаций, мог привести к созданию неверного кода, вызывавшему сбой Visual Studio 2019.
- Исправлена проблема, приводящая к сбою из-за добавления функций через редактор диалоговых окон в редакторе ресурсов.
- Nuget.org больше не требуется удалять дважды в качестве источника пакета.
- Улучшена производительность анализа пакета NuGet.
- Исправлено сообщение об ошибке, информирующее о нерекомендуемых API, которое клиенты получали при использовании узла Базы данных SQL Azure в обозревателе сервера.
- Исправлена проблема, которая приводила к выводу сообщения об ошибке, указывающего на неправильную загрузку CascadePackage.
- Исправлена проблема, из-за которой было невозможно развернуть проект сборки с включенным быстрым развертыванием либо для развертывания требовалось дополнительное время.
- Исправлена проблема, из-за которой после горячей перезагрузки сохраненные изменения отображались в полностраничном режиме.
- Исправлена проблема, из-за которой горячая перезагрузка приводила к нарушению работы или применению изменений для динамического визуального дерева.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.2:
- Escape-символы иногда не отменяют или не закрывают встроенное диалоговое окно поиска в C#
- Открытие развернутого приложения Xamarin.Forms с включенной функцией горячего перезапуска завершается сбоем на iPhone
- В отчете Профилировщика производительности приводятся неправильные данные о длительности сеанса
- Горячая перезагрузка Xamarin.Forms перестала работать после обновления до VS2019 16.9.0
Visual Studio 2019 версии 16.9.1
Выпущено 9 марта 2021 г.
Советы по безопасности
CVE-2021-21300 — уязвимость к удаленному выполнению кода в Git для Visual Studio
Существует уязвимость удаленного выполнения кода, когда Visual Studio клонирует вредоносный репозиторий.
CVE-2021-26701 — уязвимость к удаленному выполнению кода в .NET Core
В .NET 5 и .NET Core есть уязвимость удаленного выполнения кода. Она обусловлена методами обработки кодировки текста.
Проблемы, устраненные в этом выпуске
- Исправлена выдача неверных метаданных ARM64EC для объектов.
- Исправлена проблема, из-за которой C++ с включенными FixIt (настройка по умолчанию) отображал ненужные подчеркивания ошибок при открытии любого кода.
- В некоторых случаях механизм IntelliSense в C++ пытается использовать чрезмерно большое число путей для включения файлов, что приводит к прекращению его работы.
- Повышена стабильность Live Share при работе с C++.
- Исправлена проблема, из-за которой в IntelliCode прекращалась загрузка символов.
- Улучшено время загрузки и закрытия решений в ситуациях, когда у пользователей включен новый экспериментальный редактор Razor.
- Исправлена проблема со сбоем ServiceHub, который мог проявляться после открытия диалогового окна "Расширения и обновления" и приводить к завершению работы Visual Studio.
- Исправлена ошибка, из-за которой выдавалось сообщение о недоступности обновлений при проверке обновлений на медленных компьютерах.
- Улучшено поведение при запуске проектов WAP из Visual Studio в ходе выполнения добавочных изменений.
- Исправлена проблема, из-за которой установка не запускалась при использовании итальянского языкового стандарта.
- Исправлен сценарий обновления, из-за которого установщик переставал отвечать в течение очень долгого времени, пока инициализировался кэш шаблонов .NET Core.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.1:
- Средство оптимизации ошибочно удаляет активный код
- Использование -d1initall11 приводит к ошибке C26019
- Установка занимает очень много времени при обновлении до Visual Studio 2019 версии 16.9
Visual Studio 2019 версии 16.9.0
Выпущено 2 марта 2021 г.
Сводка новых возможностей этого выпуска Visual Studio 2019 версии 16.9.0
C++
- Санитизатор адресов:
- Поддержка санитайзера адресов в Windows теперь не считается экспериментальной и стала общедоступной.
- Расширена поддержка RtlAllocateHeap, устранена проблема совместимости для перехватчиков RtlCreateHeap и RtlAllocateHeap при создании исполняемых пулов памяти.
- Добавлена поддержка устаревших функций работы с памятью GlobalAlloc и LocalAlloc. Эти перехватчики можно включить с помощью
ASAN_OPTIONS=windows_hook_legacy_allocators=true
. - Обновлены сообщения об ошибках, связанные с пересечением теневой памяти и сбоями перехвата, чтобы предоставлять четкие сведения о проблемах и методах решения.
- Интеграция с интегрированной средой разработки теперь поддерживает полную коллекцию исключений, о которых может сообщать ASan.
- Компилятор и компоновщик предложат выдавать отладочную информацию, если обнаружат выполнение сборки с помощью ASan без выдачи отладочной информации.
- Теперь вы можете ориентироваться на версию LLVM среды выполнения OpenMP с помощью нового ключа компилятора /openmp:llvm. Это добавит поддержку предложения lastprivate в разделах #pragma omp и переменных индексов без знака в параллельных циклах for. Ключ /openmp:llvm в настоящее время доступен только для целевой платформы amd64 и считается экспериментальным.
- Проекты Visual Studio CMake теперь имеют поддержку первого класса для удаленной разработки Windows. Сюда включается настройка проекта CMake для целевой платформы Windows ARM64, развертывание проекта на удаленном компьютере Windows и его отладка на удаленном компьютере Windows из Visual Studio.
- Версия Ninja, поставляемая с Visual Studio в Windows, была обновлена до 1.10. Дополнительные сведения о новых возможностях см. в заметках о выпуске для Ninja 1.10.
- Версия CMake, поставляемая с Visual Studio, была обновлена до 3.19. Дополнительные сведения о новых возможностях см. в заметках о выпуске для CMake 3.19.
- В библиотеке STL многие типы блокировок и предохранителей помечены тегом nodiscard: https://github.com/microsoft/STL/pull/1495
- IntelliSense:
- Улучшена стабильность и функциональные возможности IntelliSense по предоставлению имен импортированных модулей и блоков заголовков.
- Добавлены функции перехода к определению для импорта модулей, поддержка индексирования для экспорта {... } и более точная ссылка на модули для модулей с одинаковыми именами.
- Улучшена совместимость IntelliSense с языком C++ за счет добавления поддержки копирования с инициализацией для временной прямой инициализации в ссылке, функций __builtin_memcpy и __builtin_memmove, исправления несогласованности между функциями constexpr и consteval, продлеваемых на все время существования временных элементов в константных выражениях, а также сходных типов и ссылочной привязки.
- Добавлено завершение для make_unique, make_shared, emplace и emplace_back, что обеспечивает завершение на основе указанного параметра типа.
- MSVC теперь определяет правильные среды выполнения для санитайзера адресов, необходимые для двоичных файлов. Проект Visual Studio автоматически получит новые изменения. При использовании средства санитайзера адресов в командной строке теперь необходимо передать компилятору только /fsanitize=address.
- Диспетчер соединений Visual Studio теперь поддерживает закрытые ключи с помощью алгоритма открытого ключа ECDSA.
- LLVM и Clang, поставляемые в нашем установщике, обновлены до версии 11. Дополнительные сведения см. в заметках о выпуске для LLVM и Clang.
- Теперь Visual Studio будет использовать переменные CMake из файлов цепочки инструментов для настройки IntelliSense. Это обеспечит лучшую производительность при разработке встраиваемых приложений и Android.
- Реализация предложения о дополнительных контейнерах constexpr, которая позволяет деструкторам и новым выражениям представлять constexpr. Это создает условия для использования таких служебных программ, как constexpr std::vector и std::string.
- Расширенная поддержка IntelliSense для модулей C++20, включая переход к определению, переход к модулю и завершение элементов.
- Сокращенные шаблоны функций теперь поддерживаются в компиляторе MSVC.
Javascript/TypeScript
- Добавлена поддержка отладки WebView2 JavaScript/TypeScript на основе Edge Chromium для приложений WPF, WinForms и проектов WinUI 3. Чтобы ее включить, выберите отладчик JavaScript в диалоговом окне "Свойства проекта". Сведения о том, как начать работу с ним, можно найти здесь.
Debugger
- Добавлен новый автоматический анализатор, который проверяет потоки на наличие взаимоблокировок.
- Добавлен новый автоматический анализатор, который проверяет очередь метода завершения .NET Core и обнаруживает потенциально блокирующие объекты.
- Теперь Visual Studio отфильтровывает избыточные повторяющиеся кадры из стека вызовов при остановке отладчика в исключении StackOverflow. Теперь можно просмотреть базу стека, в которой возникла бесконечная рекурсия, что должно упростить изучение таких ошибок.
Profiler
- Добавлен новый сценарий динамического инструментирования, который работает быстрее (не требует VSInstr) и позволяет инструментировать приложения .NET Core без PDB-файлов.
F# и средства для F#
В этом выпуске добавлено несколько возможностей для повышения производительности и скорости работы со средствами F# для Visual Studio.
- Поддержка .NET Core FSI.
- Справка по сигнатурам для приложений-функций.
- 14 новых быстрых исправлений.
- Значительные улучшения производительности и отзывчивости для инструментария F#.
Вы можете прочитать о них в заметках об обновлении F# и средств для F# для Visual Studio 16.9 или о выпуске продукта.
- Теперь IntelliSense поддерживает заполнение для символов препроцессора.
- Обозреватель решений теперь отображает новые генераторы исходного кода .NET 5.0.
- Go To All (Перейти ко всем) не будет отображать дубликаты результатов, полученные от netcoreapp3.1 и netcoreapp2.0.
- Окно Quick Info (Краткая информация) теперь отображает идентификаторы или номера предупреждений компилятора для возможности их подавления.
- Директивы using теперь автоматически добавляются при копировании и добавлении типов в новый файл.
- Теперь когда вы нажимаете
;
, чтобы принять метод из списка завершения, IntelliSense автоматически вставляет круглые скобки и точку с запятой при создании объектов и вызове методов. - Семантическая цветовая раскраска для записей C# 9.0.
- Рефакторинг, удаляющий ненужные пустые переменные.
- Рефакторинг, который преобразует буквальную и обычную строки в интерполированную строку с сохранением фигурных скобок, которые были предназначены для выходных данных.
- Исправление кода в Visual Basic, которое удаляет ключевое слово shared при преобразовании методов, общих для модуля.
- Возможность рефакторинга с предложением использовать
new(…)
в неконфликтных сценариях - Исправление кода для устранения избыточных выражений равенства для C# и Visual Basic
- Анализаторы стиля кода .NET (IDE) теперь могут применяться при сборке.
- В Syntax Visualizer отображается текущий цвет переднего плана для расширенных цветов
- Новая всплывающая подсказка при наведении указателя мыши на идентификатор диагностики для предупреждений прагма
- При вводе ключа возврата из комментария теперь автоматически выполняется закомментирование новой строки.
- Усовершенствованы подсказки имен встроенных параметров.
- Отладка .NET Core с использованием WSL 2
Звуковые подсказки и обновления специальных возможностей Обозревателя тестов
- Теперь вы можете настраивать звуковые подсказки для обозревателя тестов, меню Group By (Группировать по) стало более доступным для средств чтения с экрана, а просмотр длинных результатов теста упрощается благодаря ссылкам, позволяющим напрямую открывать файлы журналов.
Обновления экспериментального редактора Razor
- Семантическая раскраска HTML и C#.
- Переименование символов C#, отраженных в закрытых файлах Razor.
- Дополнительные лампочки C# в файлах Razor.
- Улучшено форматирование смешанного содержимого в файлах Razor.
- Развертывайте приложения Steeltoe для Azure Spring Cloud с помощью публикации Visual Studio (например, щелкните правой кнопкой мыши > Опубликовать в обозревателе решений).
- Расширенная поддержка .NET для Конфигурации приложений Azure в роли подключенной службы
- Управление параметрами конфигурации и флагами функций приложения путем интеграции Конфигурации приложений Azure как подключенной службы
Средства XAML (WPF, WinUI, UWP и Xamarin.Forms)
Инструментарий MVVM
- Улучшенная поддержка MVVM. В этом выпуске в редактор XAML добавлены лампочки, позволяющие создавать свойства и команды в существующих моделях представления. Также добавлены лампочки, помогающие настроить DataContext для существующих моделей представления в XAML с целью улучшения привязок IntelliSense.
Xamarin.Forms
В этом выпуске мы внесли несколько улучшений для разработчиков Xamarin.Forms:
Режим "Только изменения" Горячей перезагрузки XAML теперь используется по умолчанию для проектов Xamarin.Forms 5.x. Начиная с Visual Studio версии 16.9 режим "Только изменения" используется по умолчанию в Горячей перезагрузке XAML для проектов, предназначенных для Xamarin.Forms версии 5.x или более поздней. Проекты для версии 4.x будут автоматически использовать интерфейс "Полная страница" Горячей перезагрузки XAML, так как интерфейс "Только изменения" совместим только с Xamarin.Forms версии 5.x или более поздней. Если вы используете Xamarin.Forms 5.x и по какой-либо причине хотите открыть старый интерфейс "Полная страница" Горячей перезагрузки XAML, перейдите для этого к параметрам Горячей перезагрузки в разделе Сервис > Параметры > Отладка > Горячая перезагрузка.
Обновления состояния XAML Горячая перезагрузка в окне вывода: клиенты Xamarin.Forms с помощью XAML Горячая перезагрузка теперь могут просмотреть дополнительные сведения о том, что происходит с конвейером XAML Горячая перезагрузка с помощью окна вывода. Чтобы начать работу, откройте окно выходных данных через пункт меню Вид > Вывод и выберите Горячая перезагрузка Xamarin из раздела Показать выходные данные из в верхней части этого окна.
- Xamarin.Forms + UWP — разрешено System.ExecutionEngineException: начиная с выпуска Visual Studio 2019 версии 16.8 мы непреднамеренно представили исключение среды выполнения, которое активирует ошибки System.ExecutionEngineException, когда разработчики будут отладить приложение Xamarin.Forms, предназначенное для Windows (UWP). Начиная с этого выпуска (версия 16.9, предварительная версия 4) в сочетании с обновлением пакета NuGet Microsoft.NETCore.UniversalWindowsPlatform (версия 6.2.12 и более поздних версий) эта проблема устранена. Примечание. Это исправление не только для Visual Studio 2019 версии 16.9. При переводе проектов на новый пакет NuGet эта проблема также должна быть устранена для Visual Studio версии 16.9.
Средства для Unity
- Просмотр корневых игровых объектов при отладке в новом узле Active Scene (Активная сцена) окна Locals (Локальные).
- Просмотр всех компонентов GameObject при отладке в новом узле this.gameObject окна Locals (Локальные).
- Просмотр всех дочерних игровых объектов и компонентов с помощью узлов Children (Дочерние объекты) и Components (Компоненты) в окне Locals (Локальные).
- Просмотр расположения GameObject в сцене при изучении свойства Active Scene (Активная сцена).
- Поддержка JobEntityBatch/Lambdas при использовании сущностей с генераторами исходного кода.
- Улучшена поддержка отображения для крупных массивов с группированием индексов.
- Подсветка синтаксиса для шейдеров лучей, UXML- и USS-файлов.
- Visual Studio теперь будет отслеживать отсутствующие компоненты и предлагать установить их при использовании проектов Unity.
- API сообщений Unity обновлен для всех методов, используемых как сопрограммы.
- Мы обновили флаг предварительной версии функции для нового интерфейса Git, используя встроенную ссылку на предоставление отзыва, которая позволяет связаться напрямую с группой разработчиков.
- На домашней странице Team Explorer и на странице подключения представлены подробные сведения о переходе на новый интерфейс Git.
- Поддержка пользовательских удаленных репозиториев в push-уведомлениях ветвей.
- Извлечение ветви двойным щелчком в окне репозитория Git.
- Фиксация изменений с помощью клавиш CTRL+ВВОД.
- Отправка всех тегов из окна изменений Git.
- Visual Studio Installer больше не требует повышенных прав при запуске
- Visual Studio Installer теперь поддерживает HDR-отображение
- Visual Studio Installer поддерживает средство чтения с экрана Navigator
- Обновления Installer теперь встроены в обновления Visual Studio для простоты
- Visual Studio Installer добавляет поддержку темной темы
Сведения о новых возможностях Visual Studio 2019 версии 16.9.0
Производительность Git
- Фиксация изменений с помощью сочетания клавиш CTRL+ВВОД
- Отправка всех тегов из окна изменений Git.
Производительность .NET
- Отладка .NET Core с использованием WSL 2 позволяет запускать и отлаживать консоль и веб-приложения .NET Core в WSL 2 из Visual Studio. Это предоставляет разработчикам Windows, создающим продукты для рабочих сред Linux, более точные возможности локальной отладки.
- Теперь доступна возможность рефакторинга с предложением использовать
new(…)
в неконфликтных сценариях. Наведите курсор на объявление поля. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг. Выберите Использовать new(…).
- Теперь доступно исправление кода для устранения избыточных выражений равенства для C# и Visual Basic. Наведите курсор на избыточное выражение равенства. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг. Выберите Удалить избыточное выражение равенства.
- Анализаторы стиля кода .NET (IDE) теперь могут применяться при сборке. Анализаторы стиля кода .NET можно установить как пакет NuGet для C# и Visual Basic или включить в свойствах проекта. Чтобы открыть свойства проекта, щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Свойства. Затем выберите вкладку Code Analysis, где можно выбрать Принудительно применять CodeStyle при сборке (экспериментальная версия).
- В Syntax Visualizer (устанавливается с пакетом SDK .NET Compiler Platform) теперь отображается текущий цвет переднего плана для расширенных цветов. Просто используйте визуализатор для перехода к тексту, для которого нужно изменить цвета, или выберите его в редакторе, а затем щелкните классифицированный цвет, чтобы изменить его.
- Теперь доступна всплывающая подсказка при наведении указателя мыши на идентификатор диагностики для предупреждений прагма. В подсказке диагностики также есть ссылка, которую можно щелкнуть для перехода к документации.
- При вводе ключа возврата из комментария вы можете заметить, что новая строка теперь автоматически закомментирована. Это новый параметр, который включен по умолчанию. Чтобы отключить автоматическое закомментирование новой строки, выберите Средства>Параметры>Текстовый редактор>C# или Основные>Расширенные и снимите флажок Вставлять // в начале новых строк при написании комментариев //.
В выпуск 16.8, предварительная версия 2 мы добавили подсказки для имен встроенных параметров, которые вставляют элементы оформления для литералов, приведенных литералов и создаваемых экземпляров объектов перед каждым аргументом в вызовах функций. В этом выпуске мы добавили следующие усовершенствования:
Дополнительные параметры настройки для типов оформлений, которые вы хотите вставить.
Подсказки по встроенным типам для переменных с выводимыми типами и типами лямбда-параметров.
Возможность отключения подсказки имен встроенных параметров, если они совпадают с намерениями метода или отличаются только суффиксом.
Директивы using теперь автоматически добавляются при копировании и добавлении типов в новый файл. Чтобы включить эту функцию, перейдите в раздел Сервис>Параметры>Текстовый редактор>C# или Basic>Дополнительно и выберите Добавлять отсутствующие директивы using при вставке.
- Теперь когда вы нажимаете
;
, чтобы принять метод из списка завершения, IntelliSense автоматически вставляет круглые скобки и точку с запятой при создании объектов и вызове методов.
- Теперь используется семантическая цветовая раскраска для записей C# 9.0. Вы можете настроить цвета в разделе Сервис>Параметры>Среда>Шрифты и цвета. В списке Отображаемые элементы прокрутите до пункта Типы пользователей — записи и выберите цвет, который вы хотите применить к записям.
- В C# 9.0 пустые переменные являются лишними в некоторых случаях сопоставления шаблонов. Мы отбрасываем ненужные пустые переменные и предлагаем исправление кода для их удаления. Поместите курсор на отброшенную пустую переменную. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг. Выберите Удалить ненужную пустую переменную.
- Теперь мы используем рефакторинг, который преобразует буквальную и обычную строки в интерполированную строку с сохранением фигурных скобок, которые были предназначены для выходных данных. Этот рефакторинг не предлагается, если строка назначена константе. Поместите курсор на строку. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг. Выберите Преобразовать в интерполированную строку.
Мы внесли исправление кода в Visual Basic, которое удаляет ключевое слово shared при преобразовании методов, общих для модуля.
Теперь IntelliSense поддерживает заполнение для символов препроцессора. Начните вводить директиву
#if
, чтобы увидеть новые возможности завершения для символов, которые в текущий момент определены в области.
- Обозреватель решений теперь отображает новые генераторы исходного кода для .NET 5.0 в узле Analyzer (Анализатор), чтоб позволяет легко просматривать созданный код и перемещаться по нему.
- В окне Go To All (Перейти ко всем) не будут отображаться дублирующиеся результаты, полученные из netcoreapp3.1 и netcoreapp2.0, а также результаты для разделяемых типов, которые существуют только в качестве оболочки для другого вложенного типа. Это поможет устранить беспорядок в результатах, быстрее находить нужный код и переходить к нему. Теперь в результаты включаются имена файлов для частичных символов.
- Окно Quick Info (Краткая информация) теперь отображает идентификаторы или номера предупреждений компилятора для возможности их подавления. Наведите указатель мыши на идентификаторы или номера предупреждений, чтобы просмотреть краткие сведения по этому идентификатору диагностики.
Спасибо
И, наконец, большая благодарность людям, которые в этом месяце трудились над производительностью .NET (Roslyn):
- Youssef Виктор (@Youssef1313):
- Определяет
$Main
какWellKnownMemberNames
PR № 49650 - Позиционные параметры записей реализованы в качестве свойств PR № 48329
- Исправлена пунктирная линия для многострочного условия в
else if
PR № 48534
- Определяет
- Мартин Стрикер (@MaStr11):
- Поддержка встраивания других интерполированных строк PR № 49229
- Предпочтение справки по сигнатуре для неустаревших перегрузок PR № 49961
- Джозеф Муссер (@jnm2):
- Сохранять круглые скобки, которые требует C#, при упрощении интерполяции PR № 49655
- Реализовать отмену предложений по добавлению DebuggerDisplay к статическим типам PR № 49824
- Huo Yaoyuan (@huoyaoyuan):
- Не выполнять приведение типов при рефакторинге для foreach и var PR № 49120
- Использовать частные защищенные методы задания в параметрах компиляции PR № 49034
- Джон Сенчина (Jon Senchyna) (@TheSench): функция для устранения неоднозначности ключевого слова
using
PR №48898 - Матиас Ликкегаард Лорензен (Mathias Lykkegaard Lorenzen) (@ffMathy): увеличить максимальное число предложений до 5 PR №49687
- Алиреза Хабиби (Alireza Habibi) (@alrz): создать явное приведение типа для неявных преобразований в исправлении кода
use pattern matching
PR №49757 - Раф (Raffaele Rialdi) (@raffaeler): Добавлена поддержка нормализации автоматических свойств в одной строке PR №49495
- Youssef Виктор (@Youssef1313):
- Реализация исправления кода Visual Basic для удаления shared из элементов модуля PR #48289
- Поддержка метода доступа init в CSharpSyntaxFacts PR #48137
- Повышение уровня WarningLevel по умолчанию до последнего в тестах PR #47077
- Удаление ненужного подавления PR #48277
- Рефакторинг метода извлечения для работы с записями PR #48531
- Исправление WarningLevel для скрытой диагностики #48397
- Исправление новой ошибки с подсчетом ссылок "Найти все" PR #48434
- Синтаксический анализ свойства при наличии скобок PR #48598
- Исправление InvalidCastException, если фильтр исключений содержит выражение переключателя PR #48260
- Луис Занелла (Louis Zanella) (@louis-z): Реализация рефакторинга, который преобразует обычные и буквальные строки в интерполированные строки с сохранением фигурных скобок PR №48502
- Шимми (Shimmy) (@weitzhandler): Предложение конструктора по умолчанию между элементами PR №48503
- Кай Йеллингхаус (Kai Jellinghaus) (@HurricanKai): Обеспечение статичности GreenNode.CreateList и исправление во всех случаях использования PR #48536
- Джон Senchyna (@TheSench):
- Петр Ондерка (Petr Onderka) (@svick): Исправление обработки идентификатора комментария к документации для динамических элементов и кортежей PR #48359
- Huo Yaoyuan (@huoyaoyuan):
- Растислав Новотны (Rastislav Novotny) (@duracellko): Поддержка NotNullIfNotNull в бинарных операторах PR #48490
- Алиреза Хабиби (Alireza Habibi) (@alrz): Исправление анализа шаблона типа, допускающего значение null, для улучшения восстановления после ошибок PR #48447
- Линлин Тун (Lingling Tong) (@LinglingTong): Включение диагностики модели извлечения LSP для XAML PR #49145
- Дэвид Маас (David Maas) (@PathogenDavid): Исправление SkipLocalsInit на уровне модуля с помощью инструкций верхнего уровня PR #49435
- Мартин Штрекер (Martin Strecker) (@MaStr11): Поддержка номеров предупреждений в кратких сведениях для подавления PR #49102
- Адам Спейт (Adam Speight) (@AdamSpeight2008): Улучшение производительности PR #49459
- Адам Ральф (Adam Ralph) (@adamralph): Исправление недопустимого фрагмента кода при добавлении необязательных параметров к открытым методам PR #48725
Веб-инструменты .NET
- Развертывайте приложения Steeltoe для Azure Spring Cloud с помощью публикации Visual Studio (например, щелкните правой кнопкой мыши > Опубликовать в обозревателе решений). Если вы не видите этот параметр, убедитесь, что проект содержит пакет NuGet Microsoft.Azure.SpringCloud.Client версии 1.0.0-preview.1 или более поздней.
Веб-инструменты
Добавление Конфигурации приложений в качестве подключенной службы автоматически подключает это приложение к ресурсу Конфигурации приложений Azure. Теперь поддерживается автоматическое создание кода для консольных проектов .NET Core, а также автоматическое добавление пакетов NuGet для проектов .NET Framework. Чтобы интегрировать в приложение эту подключенную службу, щелкните Подключенные службы и добавьте Конфигурацию приложений Azure в качестве зависимости службы.
- Вкладка "Подключенные службы" теперь поддерживает Конфигурацию приложений Azure. Конфигурация приложений позволяет централизованно управлять параметрами приложений и флагами функций. При добавлении этой зависимости службы код автоматически обновляется для подключения к ресурсу Конфигурации приложений. В обновление входит установка наиболее актуальных пакетов NuGet и сохранение секретов в локальном хранилище или Key Vault.
Visual Studio Installer
В Visual Studio Installer появилось несколько новых функций в ответ на запросы клиентов.
Многие пользователи теперь используют установщик для обнаружения, запуска нескольких копий Visual Studio и управления ими. Чтобы поддержать этот процесс, Visual Studio Installer больше не требует повышения прав при запуске, а только для внесения изменений в Visual Studio и на компьютер. Другие действия, такие как экспорт конфигураций установки, просмотр новостей и сведений об обновлениях, больше не требуют от пользователя сначала повысить права.
Более ранние версии установщика иногда запрашивают у пользователей дополнительные действия для обновлению установщика. После этого обновления необходимые обновления установщика обрабатываются в ходе операции установки, поэтому лишний шаг отсутствует.
Теперь установщик позволяет выбрать темную тему. Пользователи могут изменить тему установщика, нажав на кнопку с солнцем и луной (☼/☽) в заголовке окна. Обновления, запущенные в интегрированной среде разработки Visual Studio, будут использовать текущий выбор темы Visual Studio.
Звуковые подсказки и обновления специальных возможностей Обозревателя тестов
- Обозреватель тестов теперь может воспроизводить звуковой сигнал при завершении тестового запуска. Вы можете выбрать два звука: один как свидетельство об успешном прохождении всех тестов, а другой — о том, что как минимум один из них в тестовом запуске не пройден. Эта возможность возникла на основе пользовательского запроса с целью улучшить доступность обозревателя тестов, добавляя звуковую подсказку для тех разработчиков, которые имеют нарушения зрения. Для выбора звука используется стандартное диалоговое окно выбора звука в Windows 10, которое позволяет выбрать один из готовых звуков или любой звуковой файл с компьютера.
- Предложение GROUP BY в обозревателе тестов стало более доступным благодаря улучшению фраз и порядка слов для воспроизведения в средстве чтения с экрана.
- Просмотр длинных тестовых данных в области результатов теста в обозревателе тестов теперь стал проще благодаря наличию ссылки, которая напрямую открывает файл журнала вместо перехода к элементу управления документами.
Работа с тестами
- Добавлена поддержка сбора объема протестированного кода для тестовых проектов .NET Core, использующих Fakes.
- Сокращено время, необходимое для слияния нескольких отчетов об объеме протестированного кода.
IntelliCode
- IntelliCode теперь предоставляет повторяющиеся предложения по редактированию непосредственно в списке завершений IntelliSense. Вы можете выполнить предварительный просмотр предлагаемого изменения, применить его в этом расположении или игнорировать такие предложения непосредственно из элемента завершения. Дополнительные сведения о предложениях IntelliCode.
Обновления экспериментального редактора Razor
- Семантическая раскраска HTML и C#.
- Переименование символов C#, отраженных в закрытых файлах Razor.
- Дополнительные лампочки C# в файлах Razor:
- Добавлен атрибут
DebuggerDisplay
. - Создание и назначение свойства.
- Создание и назначение поля.
- Реализуйте интерфейс или абстрактный класс, включая поддержку "с шаблоном", т. е. "Реализация интерфейса с шаблоном Dispose"
- Создание равных значений, хэш-кода, конструктора.
- Добавлен атрибут
- Добавление одной и всех проверок на NULL для параметров.
- Улучшено форматирование смешанного содержимого в файлах Razor.
Чтобы включить экспериментальный редактор Razor, перейдите в раздел Сервис>Параметры>Среда>Предварительная версия функций, выберите Включить экспериментальный редактор Razor, а затем перезапустите Visual Studio.
От сообщества разработчиков
Вот лишь некоторые из проблем с наибольшим числом голосов, устраненных в выпуске 16.9.0:
- Диалоговое окно "Быстрый поиск" открывается в другой группе вкладок (слева), а не на вкладке текущего файла в текущей группе вкладок справа.
- Чувствительность к регистру при анализе месяцев.
- Невозможна компиляция приложений WPF, предназначенных для .NET 5.
- При продолжении операции "Изменить и продолжить" в процессе отладки VisualStudio 16.6.5 аварийно завершает работу.
- Ошибка выделения IntelliSense или синтаксиса редактора JavaScript.
- Запуск без отладки не работает в проектах MSBuild для Linux.
- SoftDebuggerSession.cs — ссылка на объект не задана в строке 1612.
- MSVC 16.7 неправильно создает ошибку C2355 при использовании этого указателя во время инициализации в классе нестатического члена.
- Начиная с версии Xamarin 16.7 сборка перегружена предупреждениями.
- Отключение IntelliCode 2.2.733.31896 прерывает работу TypeScript 3.x с выводом исключения CompositionFailedException при редактировании файла .ts.
- "Значение не может быть NULL. Имя параметра: hierachy".
- IntelliSense для TypeScript постоянно останавливается.
- Сбой получения адреса унаследованной функции-члена, опубликованной с помощью объявления using, с ошибкой C2448.
- Мастер публикации ClickOnce для .NET Core 3.1 и .NET 5.0 в Visual Studio 2019 16.8 не создает развертывание publish.htm
- После обновления 16.8 возникает большое количество ошибок анализа кода, хотя для некоторых правил задано предупреждение
- Ошибка при генерации или отсутствии кода
- Внутренняя ошибка компилятора VS 16.7.0
- Регрессия 16.7 автоматически приводит к constexpr с выведенным массивом #include с помощью std::array; void f() { using A1 = array; auto const v1 = array{
- Модуль с разделом не компилируется
- Система управления версиями "Невозможно запустить фоновую операцию изменения файлов в решении, если идет сборка или отладка" в 16.7.4
- Регрессия: внутренняя ошибка компилятора C++ в 16.7.0 с/std:c++17 (файл компилятора msc1.cpp, строка 1591)
- VS2019 по-прежнему очищает каталог CMakeBuild при каждом затрагивании CMakeFiles.txt или CMakeSettings.json
- Visual Studio 16.8.0 исчезает, когда начинается создание метода
- Файл не сохраняется после изменения
- Инициализация списка массива с static_cast не компилируется в функции constexpr с VS2019 16.8.0, предварительная версия 1
- Ошибка при компиляции STD с clang-cl в последней версии VS
- [MSConnect 3093410] std::get_time — сбой при использовании форматов без разделителей
- IntelliSense перестает работать при использовании Coroutines-TS с ASIO.
- IntelliSense перестает работать при использовании Coroutines-TS с ASIO.
- Visual Studio вынуждает пользователя применять тему с высокой контрастностью, если Windows находится в режиме высокой контрастности.
- Visual Studio 2019 создает неверный код при использовании конструкции бесконечного цикла с явными инструкциями continue и break.
- Отображаются предупреждения "Проверка (CSS 4.0)" без возможности изменить режим проверки на CSS 3.0
- IntelliSense: в карте SCSS отображается непредвиденная последовательность символов
- Панель "Средства диагностики" в VS 2019 пуста или повреждена
- VS для Linux: отмена сборки (CTRL + BREAK) не работает для сложных решений! VS не удается закрыть!
- Ошибка операции слияния и фиксации в Git
- Добавление нового отчета (.rdl) завершается ошибкой "Член не найден 0x80020003 DISP_E_MEMBERNOTFOUND"
- Модули и chaiscript: внутренняя ошибка компилятора
- Неверный путь удаленной отладки Linux при использовании ссылки на общий проект
- Не работает диспетчер запускателя задач в версии 16.8
- c2833 с оператором decltype
- По умолчанию VB.Net Core WinForms Project получает ошибку создания параметров.
- Средства Microsoft Azure: метод не найден: "Void Microsoft.WindowsAzure.ServiceModel.Service.set_IsSLBPartialGS(Microsoft.WindowsAzure.ServiceModel.Expr
- Встроенная функция __is_nothrow_constructible игнорирует преобразования аргументов, которые могут приводить к исключениям
- Невозможно выбрать /permissive в режиме соответствия
- Компоновка в Linux завершается сбоем при ссылке на проект
- Visual Studio вынуждает пользователя применять тему с высокой контрастностью, если Windows находится в режиме высокой контрастности.
- После обновления 16.8 возникает большое количество ошибок анализа кода, хотя для некоторых правил задано предупреждение
- Приложение .NET Core 3.1 или .NET 5.0, установленное с помощью технологии ClickOnce, может не запускаться после установки.
- Ложноположительный результат C33005 c _variant_t
- Ошибка операции слияния и фиксации Git
- Не удается просмотреть сведения о задачах или параллельных стеках с помощью моникера целевой платформы net5.0-windows*
- При нажатии кнопки "Обновить" в окне "Сравнение схем SQL" не сохраняются изменения в файле sqlproj
- Проект базы данных: перетаскивание файла из обозревателя решений в открытый файл удаляет файл из файловой системы!
- Обучение модели IntelliCode в Visual Studio 2019 завершается сбоем
- Не удается открыть сеансы совместной работы LiveShare
Известные проблемы
Просмотрите все открытые проблемы и доступные решения в Visual Studio 2019, перейдя по ссылке ниже.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в правом верхнем углу установщика или самой IDE-среды Visual Studio. Значок находится в правом верхнем углу. Вы можете предлагать для продукта новые функции, задавать вопросы, находить ответы и отслеживать решение своих проблем в сообществе разработчиков Visual Studio. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.
Журнал заметок о выпуске Visual Studio 2019
Дополнительные сведения о предыдущих версиях Visual Studio 2019 см. на странице Журнал заметок о выпуске Visual Studio 2019.