Заметки о выпуске Visual Studio 2022 версии 17.8
Совет
Просмотрите записи с мероприятия по запуску Visual Studio 2022, чтобы узнать о новых возможностях, услышать советы и скачать бесплатные цифровые образцы.
Сообщество разработчиков | Дорожная карта Visual Studio 2022 | Требования к системе | Совместимость | Распространяемый код | Журнал выпусков | Условия лицензии | Блоги | Известные проблемы последнего выпуска | Документация по новым возможностям в Visual Studio
Нажмите кнопку, чтобы скачать последнюю версию Visual Studio 2022. Инструкции по установке и обновлению Visual Studio 2022 см. в документации по обновлению до последнего выпуска Visual Studio 2022. Кроме того, см. инструкции по установке в автономном режиме.
Посетите сайт Visual Studio, чтобы скачать другие продукты Visual Studio 2022.
Выпуски Visual Studio 2022 версии 17.8
- 10 сентября 2024 г. — Visual Studio 2022 версии 17.8.14
- 13 августа 2024 г. — Visual Studio 2022 версии 17.8.13
- 9 июля 2024 г. — Visual Studio 2022 версии 17.8.12
- 11 июня 2024 г. — Visual Studio 2022 версии 17.8.11
- 14 мая 2024 г. — Visual Studio 2022 версии 17.8.10
- 9 апреля 2024 г. — Visual Studio 2022 версии 17.8.9
- 12 марта 2024 г. — Visual Studio 2022 версии 17.8.8
- 13 февраля 2024 г. — Visual Studio 2022 версии 17.8.7
- 30 января 2024 г. — Visual Studio 2022 версии 17.8.6
- 17 января 2024 г. — Visual Studio 2022 версии 17.8.5
- 9 января 2024 г. — Visual Studio 2022 версии 17.8.4
- 5 декабря 2023 г. — Visual Studio 2022 версии 17.8.3
- 28 ноября 2023 г. — Visual Studio 2022 версии 17.8.2
- 21 ноября 2023 г. — Visual Studio 2022 версии 17.8.1
- 14 ноября 2023 г. — Visual Studio 2022 версии 17.8.0
Блог Visual Studio 2022
Блог Visual Studio 2022 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2022 можно найти в следующих записях:
Visual Studio 2022 версии 17.8.14
Выпущено 10 сентября 2024 г.
Новые возможности этого выпуска
- Обновление метода проверки подлинности, используемого при взаимодействии с Microsoft Store.
Сообщество разработчиков
Устранены рекомендации по безопасности
CVE-2024-35272 SQL Server Native Client OLE DB Provider Remote Code Execution
Visual Studio 2022 версии 17.8.13
Выпущено 13 августа 2024 г.
Сводка о новых возможностях в этом выпуске
- Уменьшите размер файла ILK во время добавочного связывания.
Устранены рекомендации по безопасности
- CVE-2024-38167 Уязвимость существует в tlsStream среды выполнения .NET, что может привести к раскрытию информации.
- CVE-2024-38168 Уязвимость существует в .NET, когда злоумышленник через неуправляемые запросы может активировать отказ в обслуживании на веб-сервере ASP.NET HTTP.sys. Это только уязвимость ос Windows.
Visual Studio 2022 версии 17.8.12
Выпущено 9 июля 2024 г.
Сводка о новых возможностях в этом выпуске
- Обновите MinGit до версии 2.45.2.1, включающую GCM 2.5, которая устраняет проблему с предыдущей версией GCM, в которой она сообщила об ошибке обратно в Git после клонирования и сделала ее похожей на сбой клонирования.
Устранены рекомендации по безопасности
- CVE-2024-38081 Уязвимость существует в установщике Visual Studio в ОС Windows, где непривилегированного пользователя разрешено управлять установкой Visual Studio, что приводит к повышению привилегий.
- CVE-2024-30105 Уязвимость существует в .NET при вызове метода JsonSerializer.DeserializeAsyncEnumerable для ненадежных входных данных с помощью System.Text.Json может привести к отказу в обслуживании.
- CVE-2024-38095 Уязвимость существует, когда System.Formats.Asn1 в .NET анализирует сертификат X.509 или коллекцию сертификатов, вредоносный сертификат может привести к чрезмерному потреблению ЦП на всех платформах, что приводит к отказу в обслуживании.
- CVE-2024-35264 Уязвимость существует в ASP.NET Core 8, где повреждение данных в Kestrel HTTP/3 может привести к удаленному выполнению кода.
Visual Studio 2022 версии 17.8.11
Выпущено 11 июня 2024 г.
Сводка о новых возможностях в этом выпуске
- После обновления до сборки Germanium в Windows WSL требуется обновление вручную. Это может привести к зависаю Visual Studio при открытии проектов CMake.
- Исправлена ошибка в коде чтения PDB, чтобы игнорировать ожидаемые сбои в некоторых PDOB-файлах FASTLINK.
Сообщество разработчиков
- Ошибка: не удается открыть файл (NULL). Код ошибки = 0x0000000D
- C++/CLI C++20: неустранимая ошибка C1001: внутренняя ошибка компилятора (статический массив initonly array)
Устранены рекомендации по безопасности
- CVE-2024-30052 Удаленное выполнение кода при отладке файлов дампа, содержащих вредоносный файл с соответствующим расширением
- CVE-2024-29060 Повышение привилегий, в которых запущена затронутая установка Visual Studio
- Установщики на основе WIX CVE-2024-29187 уязвимы для двоичного перехвата при запуске от имени SYSTEM
Visual Studio 2022 версии 17.8.10
Выпущено 14 мая 2024 г.
Сводка о новых возможностях в этом выпуске
- Компоненты установщика Xamarin и Xamarin Profiler отмечены как "Вне поддержки".
- Исправлены эти структуры данных, которые не отображаются правильно в отладчике VS: Concurrency::concurrent_unordered_set, Concurrency::concurrent_unordered_multiset, Concurrency::concurrent_unordered_map, Concurrency::concurrent_unordered_multimap.
- Исправлена ошибка соглашения о вызове в arm64, в которой вызывающий и вызывающий объект не согласились с тем, где найти параметры по значению, превышающие 16 байт.
- Этот выпуск также включает обновление OpenSSL до версии 3.2.1
Сообщество разработчиков
- Неправильное создание кода для кода Arm64 с выровненными структурами, отправленными в стек параметров
- Подсчет истины в массиве неверный с оптимизированным кодом x64
- Модули C++ и LINK: неустранимая ошибка LNK1000: внутренняя ошибка во время IncrBuildImage.Pass2
Устранены рекомендации по безопасности
- CVE-2024-32002 Рекурсивные клоны на файловых системах без учета регистра, поддерживающих символы, подвержены удаленному выполнению кода.
- CVE-2024-32004 Удаленное выполнение кода при клонирование специальных локальных репозиториев
- CVE-2024-30045 Уязвимость удаленного выполнения кода существует в .NET 7.0 и .NET 8.0, где переполнение буфера стека происходит в подпрограмме двойного анализа .NET.
- CVE-2024-30046 Уязвимость существует в Microsoft.AspNetCore.Server.Kestrel.Core.dll где может произойти взаимоблокировка, что приводит к отказу в обслуживании.
Visual Studio 2022 версии 17.8.9
Выпущено 9 апреля 2024 г.
Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.8.9
- В этом исправлении ошибки клиент теперь может использовать загрузчик в макете и передать параметр --noWeb для установки на клиентском компьютере и убедиться, что установщик и продукт Visual Studio скачиваются только из макета. Ранее, иногда во время установки установщик не уважал параметр -noWeb и попытался самостоятельно обновить себя из Интернета.
Устранены рекомендации по безопасности
- CVE-2024-21409 Уязвимость после использования существует в WPF, что может привести к повышению привилегий при просмотре недоверенных документов.
- CVE-2024-28929 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28930 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28931 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28932 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-289333 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28934 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28935 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28936 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28937 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28938 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28941 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-28943 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
- CVE-2024-29043 Это обновление устраняет уязвимость удаленного выполнения кода в драйвере Microsoft ODBC для Microsoft SQL Server.
Visual Studio 2022 версии 17.8.8
Выпущено 12 марта 2024 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.8
- Исправлены ложные отрицательные значения адреса для устаревших распределителей Окна, а также состояние гонки при запуске в зависимости от загрузки библиотеки Dll Sanitizer address.
- Исправлено, чтобы предотвратить скалярную нагрузку памяти в встроенном расширении функций std::round() в векторный доступ. Хотя векторный доступ не изменяет результат вычисления, он дольше и может завершиться ошибкой при успешной скалярной нагрузке.
- Исправлена ошибка, из-за которой libconcrt.lib, используемая при статической компоновке, могла содержать инструкцию SSE 4.2, которая была незаконной в старых системах X64.
Сообщество разработчиков
- Ошибка компилятора после VS17.6 для оптимизации std::round в AVX (нарушение доступа)
- Недопустимая инструкция POPCNT, выдаваемая в MSVC 17.8.6 при сборке с оптимизацией
Устранены рекомендации по безопасности
- CVE-2024-21392 Уязвимость существует в .NET, где специально созданные запросы могут привести к утечке ресурсов, что приводит к отказу в обслуживании.
- CVE-2024-26190 Уязвимость существует в MsQuic.dll, что может привести к выделению небольших блоков памяти до тех пор, пока подключение остается в живых.
- CVE-2023-27911 Эта рекомендация повторно публикуется, чтобы указать, что пакет SDK для Autodesk® FBX® больше не поддерживается в Visual Studio 2022.
Visual Studio 2022 версии 17.8.7
Выпущено 13 февраля 2024 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.7
- Visual Studio может запускать форму в учетной записи SYSTEM.
- Обновляет .NET MAUI до версии 8.0.6 SR1.
Сообщество разработчиков
Устранены рекомендации по безопасности
- CVE-2024-0057 — уязвимость обхода функций безопасности существует, когда приложения на основе Microsoft платформа .NET Framework используют API-интерфейсы сборки цепочки X.509, но не полностью проверяют сертификат X.509 из-за ошибки логики.
- CVE-2024-21386 Уязвимость существует в ASP.NET приложениях с помощью SignalR, где вредоносный клиент может привести к отказу в обслуживании.
- CVE-2024-21404 Уязвимость типа "отказ в обслуживании" существует в .NET с поддержкой OpenSSL при анализе сертификатов X509.
Visual Studio 2022 версии 17.8.6
Выпущено 30 января 2024 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.6
Сообщество разработчиков
- Неправильный цвет параметров для CreateWindow и нет быстрых сведений
- Обновление VS 2022 до Node 18
- Создание проектов c++/clr в VS17.8
- ARM64EC обновления 17.8preview1 до preview3 получает ошибки: libvcruntime.lib(overrides.obj) : ошибка LNK2013: BRANCH26 переполнение исправления. Целевой объект '#memcpy_unal
- ARM64EC LNK1000 внутренняя ошибка во время image::BuildImage из-за сбоя в ссылке! CollectLongBranch
- Исключение SSE 4.2 POPCNT в среде выполнения VC 14.38.33130 concrt140.dll в Intel Core 2 Quad Q6600
- Исправление требует обновления распространяемого пакета VC. В этом обновлении версии 17.8 Visual Studio не будет автоматически обновлять распространяемый пакет VC. Чтобы правильно применить исправление, после установки этого обновления для Visual Studio пользователям потребуется запустить распространяемый исполняемый файл VC для целевой архитектуры, доступной по адресу
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\<latest version>
. Локальные развертывания приложений должны копировать соответствующие двоичные файлы среды выполнения VC из той же папкиarm64
илиx64
x86
вложенных папок.
- Исправление требует обновления распространяемого пакета VC. В этом обновлении версии 17.8 Visual Studio не будет автоматически обновлять распространяемый пакет VC. Чтобы правильно применить исправление, после установки этого обновления для Visual Studio пользователям потребуется запустить распространяемый исполняемый файл VC для целевой архитектуры, доступной по адресу
- неустранимая ошибка C1001: внутренняя ошибка компилятора
- Приращение недопустимого кода оптимизации в Visual Studio 2022
- Ошибка создания кода сборки vs17.8 ARM64EC при копировании в встроенный тип __n64
- Компилятор 19.37.32825 создает неправильные сборки LDRSH при доступе к uint16_t с помощью /O2
Visual Studio 2022 версии 17.8.5
Выпущено 17 января 2024 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.5
- Добавляет исправления поддержки xcode 15.1 и API, чтобы получить полные заметки о выпуске, посетите страницу выпусков macios.
- Исправлена проблема, при которой некоторые клиенты, после изменения целевой платформы для своего проекта Razor, не смогли увидеть компоненты, которые впоследствии были добавлены.
- Исправлен сбой при запуске диалогового окна "Подключение отладки > к процессу".
- Исправляет сбой при изменении модификатора доступа в конструкторе параметров.
Сообщество разработчиков
- Ошибка разметки и автозаполнения с помощью blazor
- Не удается установить расширения Visual Studio
- Удаленный отладчик Visual Studio зависает в течение 30 минут при загрузке вкладки "Модули"
- Ошибка манифеста clickonce после обновления до Visual Studio 17.8
Visual Studio 2022 версии 17.8.4
Выпущено 9 января 2024 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.4
Сообщество разработчиков
- Целевая платформа Android не может быть выбрана, если целевая среда выполнения для Android — .NET 8 в .NET MAUI
- Необходимо установить службу Microsoft.VisualStudio.OLE.Interop.IOleUndoManager.
- После обновления до Visual Studio 17.8.0 интерактивные тесты REST больше не работают
- Visual Studio 2022, выпуск 17.8, наведенный на переменную в отладке в точке останова, не отображает значение
- 17.8 Предварительная версия 2 не загружает диалоговое окно параметров IncrediBuild "Параметры расширения"
- Отладка одношаговой функции больше не работает в смешанном режиме отладчика и отображает ошибку 0x8ede0018
Устранены рекомендации по безопасности
- CVE-2024-20656 Уязвимость существует в службе VSStandardCollectorService150, где локальные злоумышленники могут повысить привилегии на узлах, где запущена затронутая установка Microsoft Visual Studio.
- CVE-2023-32027 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
- CVE-2023-32025 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
- CVE-2023-32026 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
- CVE-2023-29356 Эта рекомендация повторно публикуется для устранения уязвимости microsoft ODBC Driver for SQL Server Remote Code Execution в Visual Studio.
- CVE-2023-32028 Эта рекомендация повторно публикуется для решения уязвимости удаленного выполнения кода Microsoft SQL OLE DB в Visual Studio.
- CVE-2023-29349 Эта рекомендация повторно публикуется для решения уязвимости microsoft ODBC и OLE DB Remote Code Execution в Visual Studio.
- CVE-2024-0057 — уязвимость обхода функций безопасности существует, когда приложения на основе Microsoft платформа .NET Framework используют API-интерфейсы сборки цепочки X.509, но не полностью проверяют сертификат X.509 из-за ошибки логики.
- CVE-2024-0056 Уязвимость существует в поставщике данных SQL Microsoft.Data.SqlClient и System.Data.SqlClient, где злоумышленник может выполнять атаку перехвата (иногда называется MITM или злоумышленником в середине, атакой) между клиентом SQL и сервером SQL.
- CVE-2024-21319 Корпорация Майкрософт выпускает эти рекомендации по безопасности, чтобы предоставить сведения об уязвимости в шаблонах проектов ASP.NET Core.
Visual Studio 2022 версии 17.8.3
Выпущено 5 декабря 2023 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8.3
- Устранена проблема, из-за которой проекты, использующие razor-файлы в качестве связанных файлов или из общих проектов.
Сообщество разработчиков
- Параметры отрисовки пользовательского текста игнорируются в окнах кода VS2022
- Неправильный размер строки после обновления до версии 17.8.
- Локальные устройства Android перестают появляться после обновления до VS 2022 17.8.0
- После обновления Visual Studio 2022 до 17.8.1 у меня возникли проблемы с общими проектами
- esproj не запустит StartupCommand, если в папке решения
- удаленные операции Git очень медленные
- VS2022 17.8: "Идентификатор не определен" при оценке локальных языков в файлах платформа .NET Framework с символом юникода
Известные проблемы
- Пользователи, имеющие программное обеспечение для управления привилегиями из Delinea, могут столкнуться с проблемами при запуске Visual Studio. Delinea знает об этой проблеме и устранена. Обратитесь к ним https://delinea.com/support , чтобы получить инструкции по устранению этой проблемы".
Visual Studio 2022 версии 17.8.2
Выпущено 28 ноября 2023 г.
Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.8.2
- Исправлена проблема, из-за которой в определенных ситуациях окно документа может застрять в сообщении о загрузке.
- В некоторых случаях при сохранении проекта в папке решения может возникнуть ошибка. Проект будет сохранен, но вы увидите ошибку о невозможности приведения com-объекта. Эта проблема исправлена, поэтому ошибка больше не отображается.
Сообщество разработчиков
- RemoteSemanticClassificationService.GetClassificationsAsync: СинтаксисTree не является частью компиляции
- При изменении другого файла VS зависает на "загрузке компонентов редактора"
- После обновления до Visual Studio 17.8.0 интерактивные тесты REST больше не работают
- ASP.NET веб-приложения Core, предназначенные для .NET 5.0 и ниже, перестали работать после обновления 17.8.0
- не удалось создать консольное приложение .NET Framework
Visual Studio 2022 версии 17.8.1
Выпущено 21 ноября 2023 г.
Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.8.1
- Обновленная версия IncrediBuild устраняет проблему, из-за которой сборка проектов CMake с помощью стандартных команд меню сборки неправильно перенаправляет сборку на использование IncrediBuild по умолчанию.
Сообщество разработчиков
Visual Studio 2022 версии 17.8.0
Выпущено 14 ноября 2023 г.
Сводка о новых возможностях в этом выпуске Visual Studio 2022 версии 17.8
Функции повышения производительности
Разработка игр и C++
Улучшения F#
Функции | Предложения сообщества |
---|---|
F# |
Отладка и диагностика
Инструмент Razor
Функции | Предложения сообщества |
---|---|
Действие кода для создания метода обработчика событий | |
Цвет фона для кода C# |
Разработка JavaScript и TypeScript
Функции | Предложения сообщества |
---|---|
Новые шаблоны React TypeScript и ASP.NET Объединенные шаблоны | |
поддержка launch.json для открытой папки |
SQL
Функции | Предложения сообщества |
---|---|
Обновление Microsoft.Data.SQLClient (MDS) с версии 3.0 до версии 5.0 в SQL Server Data Tools |
Тестирование
Функции | Предложения сообщества |
---|---|
Новый IntelliTest теперь в предварительной версии |
Улучшения производительности
Управление предприятиями
Функции | Предложения сообщества |
---|---|
Упрощенные шаги инициализации клиента для ИТ-администраторов |
Другие Сообщество разработчиков предложения: Вы спросили, мы слушали!
- Пустой шаблон проекта решения без 33 голосов
- Редактор Csproj не открыт из-за AndroidPackageFormat
- Выделение точки останова — голоса C# 25
- Создание (редактирование) Ввод и прокрутка более адаптивных 24 голосов
- Сравнение нескольких файлов с предыдущими голосами версии 8
- Различия Git: отображение только различий и пропуск строк, которые не были изменены 7 голосов
- Visual Studio ASAN выдает критичную ошибку при получении данных буфера обмена 11 голосов
- Окно просмотра VS 2022 и точки останова не могут оценивать выражения с использованием указателей C++/CX (^) 5 голосов
- IntelliSense C++ для std::ranges::iota_view<size_t, size_t> ошибка 5 голосов
- Отключение автоматического переключения с несколькими филиалами текущей или начальной ветви Git в диалоговом окне репозитория Git 4 голосов
- Реализация memchr ARM64 может не соответствовать стандарту
- Не найден автономный шаблон проекта React TypeScript с частью пути
- Боковая панель Git не остается свернутой
- Панель сообщений имеет низкую контрастность в новой версии VS 2022 17.8.0 ( предварительная версия 1.0)
Функции повышения производительности
GitHub Copilot
Повышение производительности с помощью Visual Studio становится гораздо проще в новом выпуске Visual Studio. Автозавершение GitHub Copilot теперь доступно как необязательный компонент, что упрощает установку вместе с новой установкой Visual Studio или для администратора для упаковки с обновлением. Для активации функций требуется подписка; доступна бесплатная пробная версия.
Сведения о компоненте здесь: идентификаторы рабочих нагрузок и компонентов Visual Studio Enterprise | Microsoft Learn.
Поиск и замена с сохранением регистра
При выполнении замены вы теперь можете сохранять исходный регистр каждого совпадения в вашем коде. Обратите внимание, что для получения регистра Pascal и "верблюжьего" стиля, строка замены должна использовать регистр Pascal или "верблюжий" стиль.
Переключите сохранение регистра в окне замены с помощью Alt+V
или путем выбора параметра Сохранить регистр.
Быстрая замена (Ctrl+H
):
Замена в файлах (Ctrl+Shift+H
):
Поделитесь своими мыслями об интерфейсе замены с сохранением регистра в этом билете сообщества разработчиков: Поиск и замена с сохранением регистра в нескольких файлах.
Создание запроса на вытягивание в Visual Studio
Вместо использования браузера можно создать запрос на вытягивание в Visual Studio. Используйте редактор Markdown с описаниями запроса на вытягивание для отображения заголовков, маркированных списков и другого синтаксиса Markdown, нажав кнопку "Предварительный просмотр". Включите это с помощью запроса на вытягивание функций > предварительной версии.
Мы итерировали в предварительных версиях, чтобы обеспечить лучшую обработку ошибок и улучшенный интерфейс рецензента. Сообщите нам, что вы думаете о запросе на вытягивание здесь.
Добавление рецензентов в запрос на вытягивание
Теперь вы можете добавить рецензентов в запросы на вытягивание в Visual Studio для Azure DevOps и GitHub.
Попробуйте это сделать, щелкнув ссылку "Создать запрос на вытягивание", которая отображается при отправке, или выбрав Git GitHub > или Azure DevOps > New Pull Request из меню верхнего уровня. Затем перейдите в раздел "Рецензенты" и найдите рецензентов, которых нужно добавить. Мы планируем продолжать выпускать обновления для улучшения этой функции запроса на вытягивание, поэтому, поделитесь своими отзывами об этой функции здесь и свяжитесь с нами по заявке на предложение в Сообществе разработчиков Visual Studio.
Мы также добавили улучшенную обработку ошибок и улучшили поиск рецензента. Сообщите нам, что вы думаете о запросе на вытягивание здесь.
Сводка различий
В качестве продолжения наших усилий по улучшению интерфейса диффинга в Visual Studio мы реализовали представление сводки в представлениях диффа и сравнения. Этот новый параметр позволяет просматривать только изменения в файле с несколькими строками контекста, что делает просмотр изменений фиксацией или сравнение между двумя файлами гораздо эффективнее.
Сообщите нам, что вы думаете об этой функции, поделившись своими отзывами здесь и поделитесь с нами предложением в сообществе разработчиков.
Параметр активации с несколькими репозиториями и увеличение предела
В некоторых рабочих процессах важно контролировать, активируется ли много репозиторий автоматически. С помощью нового параметра вы можете сосредоточиться на отдельном репозитории без просмотра пользовательского интерфейса с несколькими репозиториями. Кроме того, мы увеличили количество репозиториев, с которыми можно работать одновременно до 25.
Аватары GitHub, добавленные в окно репозитория Git
Просмотрите аватары GitHub в графе с несколькими филиалами в окне репозитория Git.
Средства GitHub Actions
Мы рассмотрели непредвиденное поведение нового узла GitHub Actions в Обозреватель решений, отображаемого для репозиториев, не размещенных на GitHub.com. Теперь новый узел должен отображаться только для репозиториев, размещенных на GitHub.com. Далее мы работаем над возможностью отключения нового узла с помощью параметров инструментов > .
Поиск кода и навигация
Так как мы работали над улучшением производительности и надежности в интерфейсе поиска "Все в одном", мы также добавили строку состояния, которая отображает количество возвращаемых результатов каждого типа.
Набор средств Microsoft Teams
В последней версии Visual Studio 2022 версии 17.8 мы введем дополнительные шаблоны проектов, чтобы соответствовать более бизнес-сценариям и упростить начало работы. Новые шаблоны:
— шаблон Echo Bot, который отражает входные данные пользователей. — шаблон отмены ссылки, который является типом приложения расширений сообщений, которое может отображать URL-ссылки на адаптивные карточки. — шаблон пользовательского результата поиска, который является типом приложений расширений сообщений, которые позволяют пользователям напрямую искать результаты из области чата или панели поиска. — шаблон сбора входных данных и обработки данных, который является типом действия приложения расширений сообщений, которое получает входные данные пользователей, выполняет некоторую логику, а затем отправляет результаты пользователям обратно.
Мы также перепроектируем наш пользовательский интерфейс, чтобы упростить выбор между шаблонами, мы добавляем фильтры и теги для различных типов шаблонов.
Уведомление об обновлении Visual Studio
Заметил что-то новое? Для Visual Studio 2022 мы добавили наложение на значок панели задач VS, чтобы узнать, когда vs будет обновляться.
Если доступно обновление, и вы включили параметр "Обновить при закрытии", появится значок. После закрытия VS обновление сразу начнется, и в результате значок также исчезнет.
Дополнительные сведения об обновлении по закрытию см . в vs Update on Close.
Кроме того, устранена проблема, из-за которой поставщик Git SCC привязывается к папкам без Git в режиме Open Folder и запрещает другим поставщикам, таким как VisualSVN.
Разработка игр и C++
Мы добавили поддержку для запуска удаленных модульных тестов Linux из обозревателя тестов в Visual Studio на все удаленные компьютеры Linux, к которых они подключены через диспетчер подключений
Добавлено окно сведений о проблеме для навигации структурированных диагностика. Откройте его с помощью значка "Сведения" на записи в списке ошибок.
- Теперь мы реализовали поддержку необязательной библиотеки потоков C11. К ним относятся потоки, мьютексы, переменные условий и локальное хранилище потоков.
- CMake версии 3.27 теперь поставляется с Visual Studio в классической разработке с рабочей нагрузкой C++.
- Теперь вы можете перейти к представлению целевых объектов CMake, щелкнув правой кнопкой мыши в любом месте Обозреватель решений и выбрав переключатель в представление целевых объектов CMake.
- Теперь вы также можете получить доступ к представлению целевых объектов CMake, выбрав его в раскрывающемся списке "Вид".
- Представление целевых объектов CMake было упрощено, чтобы пользователи не должны щелкать папки без исполняемых файлов сборки, чтобы перейти к нужному целевому объекту.
- Теперь вы можете просматривать и изменять файлы на удаленном компьютере в Visual Studio с помощью окна удаленного проводник.
- Теперь вы можете легко сделать глобальные функции статическими.
- Если у вас есть бесплатная функция, которая не находится в анонимном пространстве имен и отсутствует объявление пересылки в файле заголовка, вы получите предложение пометить его как статический.
- Параметры этой функции можно настроить, перейдя в > текстовый редактор > параметров > C/C++ > IntelliSense.
- Добавлены новые фрагменты кода для Unreal Engine. Начните вводить текст в окне редактора, а фрагменты кода UE начнут отображаться как элемент списка участников в проектах UE. Нажмите клавишу TAB или ВВОД, чтобы создать фрагмент кода. Поддерживаемые фрагменты: (UClass, UClassExported, UENUM, UFUNCTION, UINTERFACE, UINTERFACEExported, UPROPERTY, USTRUCT, USTRUCTExported, UELOG, SWidget, TActorRange, TObjectRange, WITH_EDITOR)
- Вы теперь можете создавать, администрировать и запускать тесты Unreal Engine из Visual Studio. Чтобы убедиться, что адаптер тестирования Unreal Engine включен правильно, дважды проверьте, выбран ли в установщике Visual Studio установщик Visual Studio в рабочей нагрузке "Разработка игр с помощью C++". После установки адаптера тестов UE тесты Unreal Engine будут автоматически отображаться в обозревателе тестов при открытии Visual Studio. Требуется последняя версия подключаемого модуля Unreal Engine из UE Marketplace или GitHub .
- Мы добавили представление функций для интеграции Build Insights в Visual Studio. Созданный диагностический отчет Build Insights теперь показывает время создания функций, а также ForceInlines.
- Добавлены автоматические предложения по созданию функций-членов
const
, если они логически не должны изменять состояние объекта. Наведите указатель мыши на функцию-член и щелкнув значок лампочки, вы можете быстро получить доступ к предложениям, чтобы пометить функцию как констант.
- Теперь можно навести указатель мыши на класс, структуру, объединение, базовый тип или перечисление, чтобы увидеть размер и выравнивание.
- Теперь у вас есть возможность сортировать директивы #include. Эта функция доступна в раскрывающемся списке "Директивы #include" в контекстном меню. Вы также можете получить доступ к нему, добавив "Сортировка директив #include (C++)" в параметрах конфигурации очистки кода.
- Вы можете настроить порядок сортировки, чтобы выровнять параметры, перейдя к > текстовому редактору > параметров > C/C++ > Code Cleanup.
/FU
больше не поддерживается для компиляций C, так как для C не/clr
поддерживается./FU:asFriend
добавлено для обеспечения четности с исходным кодом#using <assembly> as_friend
.
F#
- Провел капитальный ремонт исправлений кода, устраняя многочисленные ошибки (подробные сведения здесь).
- Появилось новое исправление кода, которое изменяет значение (
=
) на двоеточие (:
) в определениях полей записи: - Реализован параметр активации диагностика для незакрытых файлов. Этот параметр отключен по умолчанию для соображений производительности (подробные сведения здесь).
- Улучшенная автоматическая компиляция в различных сценариях, в том числе:
- Поля анонимной записи:
- Поля регистра объединения:
- Поля регистра различаемого объединения:
- Выражения значения регистра перечисления:
- Устранены проблемы, связанные с анонимной обработкой записей в FSI (No 15519).
- Исправлены вводящие в заблуждение номера строк в FSI (No 15384).
- Объединенные подсказки для автоматических свойств:
- Улучшенные указания по имени параметра, скрывая их для имен аргументов, которые соответствуют дискриминированным полям объединения:
- Устранены проблемы с навигацией по определениям внешних перечислений и дискриминированных профсоюзов (No 15270).
- Исправлены ссылки на поиск операторов, начиная с '>' (#15386).
Отладка и диагностика
Инструмент "Счетчики .NET" в сценарии отладки
Теперь у вас есть удобный доступ к счетчику .NET через окно диагностика, выбрав выбранные счетчики .NET в раскрывающемся меню "Выбор инструмента". Даже при проведении сеансов отладки можно использовать возможности счетчиков .NET для контроля и оценки важных метрик производительности.
Поддержка кроссплатформенной отладки Enc/Горячая перезагрузка
Мы добавили поддержку сценариев редактирования и продолжения для F5 (с отладчиком) и CTRL-F5 (без отладчика) при диагностике и отладке приложений, размещенных в контейнерах Linux или в подсистема Windows для Linux (WSL). Обратите внимание, что сценарий отладки F5 зависит от .NET 8 RC1 и выше.
Отладка служб приложений Linux путем присоединения к процессу
Мы рады представить новую эффективную функцию, которая обеспечивает отладку процессов .NET в службах приложений Linux посредством возможности "Присоединение к процессу".
Эта функция позволяет разработчикам легко выполнять отладку и диагностику проблем в запущенных экземплярах Служб приложений Azure для Linux.
Присоединение к процессу:
1.Выберите "Присоединить отладку > к процессу" (или нажмите клавиши CTRL+ALT+P), чтобы открыть диалоговое окно "Присоединение к процессу".
2.Проверьте тип подключения. Оно должно быть "Служба приложений Microsoft Azure"
3.Задайте целевой объект подключения для имени компьютера Linux.
4.Выберите правильный доступный процесс и нажмите кнопку "Присоединить"
BenchmarkDotNet IDiagnosers
Visual Studio Profiler теперь поддерживает BenchmarkDotNet IDiagnosers. Эти элементы IDiagnosers играют важную роль в агрегации файлов diagsession в сценариях BenchmarkDotNet.
Вкладка "Эталон" предлагает визуализацию выполненных сравнений с эталонами. Она также предоставляет возможность точно выбрать эталон из дорожки путем двойного щелчка по определенной строке.
Кроме того, вы можете перейти к исходному файлу через контекстное меню, вызываемое правой кнопкой мыши. Статистические данные извлекаются непосредственно из BenchmarkDotNet и представлены в формате структурированной сетки.
Расширенная поддержка тем для окна параметров точек останова
Мы добавили поддержку тем в окно параметров точки останова, обеспечивая непрерывную согласованность между темами Visual Studio Light, Dark и Blue.
Поддержка счетчиков .NET для новых инструментов с помощью API счетчиков
Теперь средство счетчиков .NET представляет интеграцию API счетчиков .NET, охватывая новые варианты инструментирования, включая "Счетчик" и "ObservableCounter".
Счетчик отслеживает значение, изменяющееся со временем, при этом вызывающие сообщения обновляются с помощью "Counter.Add". В отличие от этого, "ObservableCounter" похож на счетчик, но вызывающий отвечает за отслеживание общего значения. Сейчас средство счетчиков .NET сообщает о скорости изменения итогового значения.
Эти метрики можно найти в списке списков метрик счетчиков .NET, предлагая улучшенную видимость производительности системы и использования ресурсов. Кроме того, мы активно планируем внедрить дополнительные варианты инструментирования в будущем, чтобы повысить эту возможность еще дальше.
Тестирование профилирования с помощью Центра диагностики
Мы рады представить обновленную возможность профилирования тестов. Щелкнув тест правой кнопкой мыши в обозревателе тестов, выберите "Профиль", теперь можно выбрать один из доступных средств, включая:
- Загрузка ЦП
- Использование GPU
- Операции ввода-вывода файлов
- .NET Async
- Средство просмотра событий
Выберите инструменты, которые вы хотите использовать, и нажмите кнопку "Пуск", а отчет будет предоставлен.
Инструмент Razor
Действие кода для создания метода обработчика событий
Если вы используете событие, например @onclick или @onactivate ссылаетесь на метод C#, который еще не определен, можно использовать новое действие кода Razor для автоматического создания этого метода обработчика событий. Это действие кода также поддерживает пользовательские аргументы событий.
Цвет фона для кода C#
Теперь у вас есть возможность добавить цвет фона для кода C#, расположенного в файлах Razor. По умолчанию включите этот параметр, перейдя в редактор > ">Параметры > текста" Razor > "Расширенный" и установив фон для кода C# значение True.
Разработка JavaScript и TypeScript
Новые шаблоны React TypeScript и ASP.NET Объединенные шаблоны
Когда мы первоначально выпустили JavaScript/TypeScript с ASP.NET объединенными шаблонами в этой записи блога, мы получили отзывы о том, что пользователи заслуживают лучшего интерфейса создания проекта React TypeScript. Этот новый React TypeScript с ASP.NET объединенным шаблоном получает tsconfig и SpaProxy, настроенный из поля.
поддержка launch.json для открытой папки
Если вы решили открыть папку в рабочей области с launch.json в каталоге VSCODE для хранения параметров запуска и отладки, она будет перекодирована Visual Studio и включена в раскрывающееся меню для целевых объектов отладки прямо рядом с зеленой кнопкой.
SQL
- Обновление Microsoft.Data.SQLClient (MDS) версии 3.0 до версии 5.0 в SQL Server Data Tools (SSDT)
- В диалоговое окно "Подключение" добавляются два новых поля
- Свойство Encrypt теперь по умолчанию имеет значение true (включено) при подключении. Если у сервера нет доверенного сертификата, может быть уместно использовать сертификат сервера доверия, равный true. Дополнительные сведения см. в документации
Новый IntelliTest теперь в предварительной версии
IntelliTest изучает код .NET для создания наборов тестов с высоким покрытием кода, на базе последней версии средства решения проблем Z3. При создании тестов у вас есть возможность выбрать тесты, которые вы хотите сохранить в тестовом проекте, который может служить в качестве набора регрессий. По мере обновления кода можно повторно запустить IntelliTest, чтобы сохранить созданные тесты в синхронизации с кодом.
Предыдущие реализации этой функции выпуск Enterprise поддерживают только код для платформа .NET Framework и не поддерживают конфигурацию x64. Эта обновленная версия включает в себя следующее:
- Добавление поддержки IntelliTest для .NET Core/Standard — Сообщество разработчиков (visualstudio.com)
- Добавление поддержки IntelliTest для x64 — Сообщество разработчиков (visualstudio.com)
Эту функцию можно использовать с помощью средств > управления предварительными версиями функций и выбора поддержки IntelliTest для NetFx и Net6 с помощью Z3 версии 4 (требуется перезапуск).
Затем в коде щелкните правой кнопкой мыши метод и выберите IntelliTest (предварительная версия) и создайте проект, в котором можно сохранить тесты или создать тесты, чтобы создать набор тестов для проверки и принятия решения о сохранении.
|
Средства повышения производительности
Улучшенная скорость реагирования Razor/Blazor
Решения с помощью Razor и Blazor будут лучше реагировать. Мы достигли этого, значительно сокращая выделение памяти во время межпроцессного взаимодействия между Visual Studio и Roslyn. Мы проверили решение OrchardCore, и результаты впечатляющие. Для открытия решения и подготовки Intellisense Razor мы выделяем около 1,4 ГБ меньше памяти. Меньшее количество выделений кучи означает меньшую работу для сборщика мусора, что приводит к повышению скорости реагирования.
Улучшенная скорость F5
Мы значительно улучшили производительность F5 для собственных проектов, оптимизируя настройку точек останова. Улучшения, видимые любым проектом, зависят от количества файлов с точками останова, количеством библиотек DLL с символами и т. д. Кроме того, мы оптимизируем процесс загрузки PDB для приложений Windows, уменьшая время загрузки PDB после его расположения. В нашем тестировании эти оптимизации обеспечивают замечательное улучшение скорости на 20 % для проектов Unreal Editor.
Оптимизированная технология IntelliSense для C++ Unreal Engine
Мы улучшили скорость, с помощью которой IntelliSense и цветоизация становятся доступными после открытия ранее открытого файла C++. Мы всегда кэшировали состояние IntelliSense для открытого файла. В 17.8 мы реструктурировали чтение из кэша, чтобы наиболее критически важные сведения, включая цветовую структуру и выделение выбранных ссылок, вычислялись сначала. Эта оптимизация помогает повысить производительность быстрее.
Ускорение сборки для проектов .NET, отличных от пакета SDK
Visual Studio 17.8 расширяет ускорение сборки для управляемых приложений, предназначенных для проектов стилей, отличных от пакета SDK (например, проектов, предназначенных для платформа .NET Framework 4.8 или более поздней версии), что значительно влияет на время сборки. Чтобы включить, задайте свойство проекта msbuild следующим образом:
<Project>
<PropertyGroup>
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
</PropertyGroup>
</Project>
Это основывается на успешном выполнении в 17.5 для проектов в стиле SDK, что значительно сокращает время добавочной сборки.
В нашем внутреннем тестировании с внутренними решениями мы заметили до 50 % улучшения добавочного времени сборки. Однако фактическое улучшение зависит от состояния проектов при начале сборки. В частности, чем меньше проектов, которые были изменены по сравнению с общими проектами в решении, тем больше улучшение. Фактическая степень улучшения зависит от конкретных характеристик проекта и его изменений.
Управление предприятиями
Теперь администраторы могут легко инициализировать клиентские компьютеры перед делегированием управления стандартными пользователями об обновлении или изменении их установки Visual Studio. Теперь можно программно установить только установщик, выполнив инструкцию "vs_enterprise.exe установить --installerOnly".
Администраторы, которые используют наше решение для обновления администраторов для доставки ежемесячных обновлений безопасности в организации, теперь могут предложить пользователям закрыть Visual Studio, что является распространенной ситуацией, которая блокирует применение обновлений администратора. Чтобы включить запрос, настройте новую глобальную политику AdministratorUpdatesNotifications , которая доступна как в каталоге параметров Intune, так и в наших шаблонах ADMX. Спасибо сообществу администраторов, которые предложили эту функцию.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблеме или предложить функцию с помощью значка отправки отзывов в правом верхнем углу установщика или интегрированной среды разработки Visual Studio или справки > по отправке отзывов. Вы можете отслеживать проблемы в сообществе разработчиков Visual Studio, позволяющем добавлять комментарии или искать решения. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.