Заметки о выпуске Visual Studio 2022 версии 17.5
Совет
Просмотрите записи с мероприятия по запуску 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.5
- 11 апреля 2023 г. — Visual Studio 2022 версии 17.5.4
- 21 марта 2023 г. — Visual Studio 2022 версии 17.5.3
- 14 марта 2023 г. — Visual Studio 2022 версии 17.5.2
- 28 февраля 2023 г. — Visual Studio 2022 версии 17.5.1
- 21 февраля 2023 г. — Visual Studio 2022 версии 17.5.0
Блог Visual Studio 2022
Блог Visual Studio 2022 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2022 можно найти в следующих записях:
Мы рассмотрели ряд ошибок в этом выпуске и добавили новые функции на основе ваших предложений в Сообщество разработчиков. Спасибо за ваши постоянные отзывы. Ниже приведен список предложений, которые мы предоставляем в рамках этой предварительной версии.
Сообщество разработчиков предложения: Вы спросили, мы слушали!
- Использование regex для указания цветовой схемы для цветных вкладок 63 голосов
- Мне хотелось бы, чтобы Visual Studio проверял орфографию для комментариев и код с предложениями. 34 голоса
- Разрешить параметру --layout работать с параметром --config 23 Голосов
- Добавление собственной поддержки Markdown 10 голосов
- улучшение выходных данных __builtin_FUNCTION встроенных (связанных с std::source_location) 3 голоса
Ознакомьтесь со списком всех Сообщество разработчиков предложений, которые были отправлены в составе 17.5
Visual Studio 2022 версии 17.5.4
Выпущено 11 апреля 2023 г.
Проблемы, устраненные в этом выпуске 17.5.4
- Это изменение исправляет сбой при отправке недопустимых входных данных драйверу, используемому во время обучения PGO для драйверов режима ядра.
- Исправлено разрешение оператора шаблона MSVC с помощью ISO C++17 и ISO C++20
- MSVC ASAN будет игнорировать файлы сопоставленной памяти, если функции памяти Rtl* используются для управления этой памятью.
- Обновление .NET MAUI до версии 7.0.81 (SR4) см. в заметках https://aka.ms/dotnet-maui-releases о выпуске.
- Обновляет .NET iOS до версии 16.2.127.0, см. заметки о выпуске.
- Обновляет .NET Android до 33.0.46.0
- Устраняет исправление в API конфигурации, которое может привести к двойной бесплатной уязвимости.
- VSIXInstaller обновлен, чтобы предотвратить скрытие предупреждения доверия в пользовательском интерфейсе.
Устранены рекомендации по безопасности
- CVE-2023-28260 .NET Remote Code Execution Уязвимость A существует в .NET, работающей в Windows, где библиотека DLL среды выполнения может быть загружена из неожиданного расположения, что приводит к удаленному выполнению кода.
- Уязвимость выполнения удаленного кода Visual Studio CVE-2023-28296
- Cve-2023-28299 Уязвимость спуфингов Visual Studio
- CVE-2023-28262 Visual Studio с повышением привилегий
- Уязвимость cve-2023-28263 Visual Studio Information Disclosure
основные моменты Сообщество разработчиков
- VS2022 17.5 больше не позволяет использовать строка подключения из app.config при использовании мастера обновления Entity Framework
- аварийное завершение iisexpress в ntdll.dll
- Кнопка "Показать компактный вид" отсутствует в диалоговом окне "Новый объект" (старое)
- Частное расширение Visual Studio, принудительное сохранение как диалоговое окно после обновления с версии 17.1 до 17.4
- Все функции рефакторинга не содержат ссылок
Visual Studio 2022 версии 17.5.3
Выпущено 21 марта 2023 г.
Проблемы, устраненные в этом выпуске 17.5.3
- Удаление интегрированных средств разработчика Edge для веб-рабочей нагрузки ASP.NET
- Исправлена регрессия производительности ASAN в отношении больших объемов потоков, обращаюющихся к одной куче одновременно. Кроме того, измените значение параметра windows_hook_legacy_allocators по умолчанию на true.
- Набор инструментов MSVC C++ обновлен до версии 14.35.32216.01
- При редактировании файлов Razor добавьте кэширование некоторых вычисляемых конструкций редактирования для повышения производительности.
- Исправлена ошибка, из-за которой многострочный текстовый ящик в проекте VB-WinForms удаляется, когда свойство Text содержит несколько строк (которые разделяются vbCrLf при создании кода в InitializeComponent).
- Исправлена ошибка, из-за которой очень большие формы или userControls в конструкторе WinForms не требуется много времени для сохранения. Обратите внимание, что формы и userControls > 3000 строк кода будут в некоторых случаях по-разному отформатированы или не подлежат сокращению пространства имен /это (Me in Visual Basic). Рассмотрите возможность рефакторинг частей очень больших форм в выделенные userControls и используйте эти элементы UserControls внутри больших форм для улучшения производительности и упрощения обслуживания.
- Исправлена ошибка, из-за которой VB-Tick-Comments внутри InitializeComponent теперь будет правильно упаковывать в отдельные строки, когда предыдущая строка закончилась кавычками или двойным символом кавычки.
- Исправлена ошибка, из-за которой переименование определенного поля Control WithEvents в файле конструктора кода в Visual Basic больше не приведет к умножению определенных или обработанных событий.
основные моменты Сообщество разработчиков
- Средства разработчика Edge больше не включены в Visual Studio
- Использование fmtlib в параметре конструктора пользовательского исключения и вызов исключения непосредственно вызвало сбой в MSVC 17.10
- C1001: внутренняя ошибка компилятора при компиляции вызова std::format из шаблона variadic.
- AnyCode вызывает взаимоблокировки путем синхронного выполнения рабочей области закрытия рабочей области в потоке пользовательского интерфейса.
- Недопустимый кодген Visual Studio 17.4 C++ с NRVO
- Сборка целевых объектов не работает при использовании CMake в WSL
- IntelliSense сообщает о многих ошибках библиотеки повышения
- Сбой компилятора в MSVC 17.4.2 "msc1.cpp", строка 1592
- Ошибка в Конструкторе WinForms Visual Studio при использовании пользовательского элемента управления с свойством ushort
- События формы, потерянные при компиляции и выполнении после изменения объекта формы в интегрированной среде разработки
- Отображение "Должно быть два или более частей класса" при сохранении winform
- Sqlproj-файл не создается, если он содержит определенные ссылки на master db, предоставляемые встроенным файлом master.dacpac VS
- Visual Studio 17.5 сломал SqlPackage.exe
- Не удается запустить проект расширенной поддержки Облачные службы в зависимости от порядка решения
- Ни новый проект, ни новый файл не отображают шаблоны. Для последнего отображается зависание шаблонов загрузки. Новая установка 17.5.0
Visual Studio 2022 версии 17.5.2
Выпущено 14 марта 2023 г.
Проблемы, устраненные в этом выпуске 17.5.2
- Исправлена ошибка оптимизации компилятора Razor в вспомогательном поиске тегов, который сломал вспомогательные функции тегов ViewComponent в ряде случаев.
- Это добавляет
@bind:after
поддержку в выпуск 17.5. Изначально это было добавлено в версии 17.4, но не было правильно перенесено в базу кода 17.5. - В интерфейсе поиска "Все в одном" панель предварительного просмотра будет доступна только для чтения для всех результатов. Мы ценим ваше терпение, так как мы работаем над подробными сведениями и исправлением проблем с предварительным редактированием.
- Обновление пакета Mingit и Git для Windows до версии 2.39.2, которое адресует CVE-2023-22490
- Удаление интегрированных средств разработчика Edge для веб-рабочей нагрузки ASP.NET
Устранены рекомендации по безопасности
- Cve-2023-22490 Mingit Remote Code Execution Уязвимость
- CVE-2023-22743 Git для установщика Windows с повышением привилегий
- CVE-2023-23618 Git для удаленного выполнения кода Windows
- CVE-2023-23946 Mingit Remote Code Execution Уязвимость
основные моменты Сообщество разработчиков
- Обозреватель тестов (тесты SpecFlow): переходит к файлу класса компонентов, а не файлу компонентов
- Visual Studio завершает работу при двойном щелчке сообщения в списке ошибок
- Не удается использовать Docker с версии 17.5.0 Preeview 3
- Использование средства проверки орфографии приводит к сбою Visual Studio (часто)
- Средства разработчика Edge больше не включены в Visual Studio
Visual Studio 2022 версии 17.5.1
Выпущено 28 февраля 2023 г.
Проблемы, устраненные в этом выпуске 17.5.1
- При указании выходных путей для сборок решения до предупреждения ошибка из .NET CLI ниже. Параметр уровня
--output
решения больше недействителен для команд, связанных со сборкой
основные моменты Сообщество разработчиков
- Свойство VCFileCodeModel.EndPoint не возвращает правильный результат в VS2022
- Невозможно создать проект после обновления до версии 17.5 из-за проблемы "CommandLineArgsForDesignTimeEvaluation"
Visual Studio 2022 версии 17.5
Выпущено 21 февраля 2023 г.
основные моменты Сообщество разработчиков
- Выбор в пакетной сборке не запоминался после перезапуска 29 голосов
std::move
(и аналогичные функции) приводят к снижению производительности отладки и хуже при отладке — 29 голосов- Разрешить параметру --layout работать с параметром --config 24 голосов
- Получение ошибки сборки после автоматического развертывания проекта базы данных перед запуском модульных тестов — 19 голосов
- Положение C/C++ для параметра Open Braces сохраняет автоматическое изменение — 13 голосов
- Горячая перезагрузка для CSS не работает с Blazor WebAssembly размещено 13 голосов
- Git — не удалось запустить настроенное средство сравнения 12 голосов
- Visual Studio очищает грязный флаг перед вызовом OnBeforeSave 11 голосов
- Обозреватель решений элемент свернут сам по себе - 11 голосов
- Схема JSON, записываемая в папку решения 10 голосов
- Запуск модульного теста завершается сбоем при переименовании метода теста в 10 голосов
- IIF в состоянии — SQL46010: неправильный синтаксис около 9 голосов
- Шаблон оператора C++20 String-литералов не распознается Intellisense — 8 голосов
- Цвет атрибута Html нарушается в последних голосов VS preview 7
- C++, visual Assist Find in Files предоставляет частичные результаты поиска в целом решении или текущем голосовании Project 7
- Диалоговое окно MFC, измененное редактором диалогов, — 6 голосов
- Intellisense не работает с заголовками модулей — 6 голосов
- Visual Studio 2022 автоматически поврежден исходный код и файлы содержимого utf-8 после перезагрузки, вызванной внешним изменением 6 голосов
- CMake + Ninja не удается проанализировать путь к выходным данным (/showIncludes) - 5 голосов
- Ложноположительное предупреждение c6031 от статического анализа — 5 голосов
- Visual Studio зависает и необходимо убить в диспетчере задач 5 голосов
- MSVC Не использует bswap по возможности - 5 голосов
- Решение не завершило синтаксический анализ; Результаты просмотра могут быть неточными 4 голосами
- Intellisense C++ зависает навсегда с определенными параметрами шаблона — 1 голосов
- Версия 17.5.0 Preview 2.0 Горячая перезагрузка не работает для Xamarin.forms — 1 голосов
- Проблемы с симулятором профилировщика Xamarin
Сводка о новых возможностях этого выпуска Visual Studio 2022 версии 17.5
ASP.NET выходные данные в интегрированном терминале
- Приложения ASP.NET Core, запускаемые в Visual Studio, теперь перенаправляют выходные данные в окно инструментов встроенного терминала, а не во внешнюю консоль.
Создание образов контейнеров без Dockerfile
- В версии .NET 7 теперь возможна сборка и публикация образов контейнеров с использованием только пакета SDK для .NET. Файл Dockerfile не требуется, и вы можете выбрать любую среду выполнения .NET, включая предыдущие версии.
Цвет вкладок по регулярному выражению
- Выделяйте визуально различные файлы по определяемым вами правилам соответствия путей.
C++
std::move
, ,std::forward
std::move_if_noexcept
иstd::forward_like
теперь не будут создавать вызовы функций в созданном коде даже в режиме отладки. Это позволяет избежать именованных приведения, вызывающих неуправляемые издержки в сборках отладки./permissive-
или флаг, который подразумевает, что он (например/std:c++20
, илиstd:c++latest
) является обязательным.- Добавлено
[[msvc::intrinsic]]
для поддержки приведенного выше элемента. Это можно применить к не рекурсивным функциям, состоящим из одного приведения, который принимает только один параметр. - Добавлена поддержка консоли Linux в интегрированном терминале, которая позволяет выполнять ввод-вывод терминала.
- Добавлена начальная экспериментальная поддержка атомарных примитивов C11 (
<stdatomic.h>
). Эту экспериментальную функцию можно включить с флагом/experimental:c11atomics
в/std:c11
режиме или более поздней версии. - Добавлен новый набор экспериментальных проверок высокой достоверности в средство проверки времени существования для снижения шума.
- Включена новая функция предварительной версии удаленного проводник для просмотра каталога файлов на удаленных компьютерах в VS, а также отправки и скачивания файлов в него.
- Изменено управление версиями исполняемых файлов CMake, поставляемых с Visual Studio для сопоставления версий Kitware.
- Добавлена поддержка Горячая перезагрузка в шаблон проекта CMake.
- Перейти к определению для C++ теперь будет использовать более тонкий индикатор операции, который занимает больше времени, заменив модальное диалоговое окно из предыдущих версий.
- Начало развертывания эксперимента, предоставляющего дополнительные интеллектуальные результаты в списке автозавершения и члена C++. Эта функция была ранее известна как Predictive IntelliSense, но теперь использует новый метод презентации.
- Теперь мы отправим собственный набор инструментов Arm64 Clang с помощью рабочей нагрузки LLVM, что позволяет выполнять собственную компиляцию на компьютерах Arm64.
- Добавлена локализация в расширение "Наблюдатель за изображениями" (примечание. Это расширение доступно в Marketplace и не упаковано с помощью установщика Visual Studio).
- Добавлена поддержка открытия окна терминала в текущий запущенный контейнер разработчика.
- Улучшено расширение макросов IntelliSense. В частности, мы включили рекурсивное расширение в дополнительных контекстах, и мы добавили параметры во всплывающем окне, чтобы скопировать расширение в буфер обмена или развернуть макрос в виде встроенного.
- Теперь в последовательном мониторе поддерживается одновременный мониторинг. Одновременный мониторинг позволяет отслеживать несколько портов одновременно, параллельно! Просто нажмите кнопку "плюс", чтобы открыть другой последовательный монитор и начать работу.
- Теперь можно просматривать свойства из базовых классов, измененных в ресурсе Unreal Blueprint, не выходя из Visual Studio. Дважды щелкните ссылку на схему для класса или свойства C++, чтобы открыть инспектор активов UE в Visual Studio.
- Включен запуск DevContainers на удаленном компьютере Linux.
- Включен выбор нескольких целевых объектов для сборки в представлении целевых объектов CMake.
- Добавлена поддержка CMakePresets.json версии 5. Дополнительные сведения о новых функциях см. в документации по CMake.
- Включен обозреватель тестов для параллельного создания и тестирования нескольких целевых объектов CMake.
- Добавлен параметр "Открыть контейнер в терминале" в контейнеры разработки.
- Реализованы стандартные функции библиотеки:
Эти заметки использовались для того, чтобы сказать, что в этом выпуске была доступна цветовая привязка пар brace. К сожалению, это было отложено до 17,6. Вы можете скачать 17.6 preview 1 сегодня, чтобы попробовать его.
Поиск кода и навигация
- All-In-One Search объединяет возможности поиска по коду (CTRL+T) и интегрированной среде разработки (CTRL+Q) в одном пользовательском интерфейсе.
- Поиск кода (CTRL+T) быстро перемещается к файлам, типам и членам решения.
- Поиск функций (CTRL+Q) обеспечивает простой доступ к различным средствам, параметрам, шаблонам и компонентам, доступным в Visual Studio.
- На вкладке "Поиск кода" панель предварительного просмотра позволяет просмотреть окружающий контекст к выбранному результату, не открывая его. Вы даже можете внести настройки в код прямо в окне поиска.
- Дополнительные сведения о поиске "Все в одном " см. здесь.
- Мы планируем постепенно включить этот новый интерфейс поиска. Вы можете включить или отключить интерфейс вручную. Средства > управления предварительными версиями функций > "Новый интерфейс поиска Visual Studio (требуется перезагрузка)".
Отладка и диагностика
- Визуализатор текста включен с дополнительными средствами и параметрами обработки строк, такими как кодирование URL-адресов и декодирование, кодировка Base64 и декодирование JWT и т. д.
- Визуализатор текста и окно быстрого просмотра теперь обеспечивают полную поддержку темных, синих и светлых тем VS.
- Параллельные окна стека вызовов будут иметь значки индикаторов, которые будут обращать внимание на критические сценарии, такие как поток взаимоблокировки или заблокированный поток.
- Теперь в окне "Управляемая память" будет отображаться новая автоматическая аналитика моментальных снимков и дампов с именем "Повторяющиеся строки".
- На новой вкладке "Аналитика" в окне управляемой памяти отображается список строк, которые выделяются несколько раз в куче. Наряду с общим объемом памяти, т. е. число экземпляров минус один раз размер строки.
- Вы также можете перейти к экземплярам, нажав кнопку "Просмотреть экземпляры", которая отображает аналогичное представление экземпляра в окне памяти. В нем также показан график хранения для строковых объектов.
Улучшения производительности
Быстрая загрузка решения для крупных решений: Visual Studio добавила новую функцию с именем "Ускорение сборки", которая повышает производительность добавочной сборки. "Ускорение сборки" направляет Visual Studio на сборку только проектов с изменениями, при этом пропуская проекты без изменений.
Включение ускорения сборки может сократить время добавочной сборки до 80 % для проектов .NET в стиле ПАКЕТА SDK. Дополнительные сведения и инструкции по включению и отключению ускорения сборки см. по следующей ссылке: https://aka.ms/vs-build-accelerationДекомпиляция внешних источников: декомпиляция больших модулей .NET в версии 17.5 составляет до 10 раз быстрее, что делает отладку и устранение неполадок более эффективным.
- Окно потоков: время отклика окна потоков составляет 2 раза быстрее, чем в 17,4 и эффективно масштабируется с большим количеством потоков.
- Покрытие кода: добавлен новый параметр статического инструментирования для повышения производительности по сравнению с динамическим инструментированием.
Быстрое добавление новых файлов
- Добавляйте новые файлы в свои проекты без поиска шаблона.
Разметка
- Visual Studio теперь поддерживает редактирование файлов Markdown (.md).
- Чтобы начать работу, откройте любой файл с расширением ".md".
- Вы можете увидеть предварительную версию обработанного кода HTML, используя кнопку "Предварительный просмотр" слева вверху окна редактора. Shift+F7 также можно использовать для открытия предварительной версии. Используйте клавиши CTRL+ALT+СТРЕЛКА ВВЕРХ, чтобы переместить фокус клавиатуры на кнопку "Предварительный просмотр", и нажмите клавишу ПРОБЕЛ, чтобы активировать предпросмотр.
- В некоторых случаях новый редактор Markdown не может быть включен автоматически. Если вы не можете открыть md-файлы, не удается найти кнопку предварительного просмотра или не увидеть украшения в редакторе, проверьте, включена ли функция предварительной версии "Служба языка Markdown" на странице предварительных версий инструментов\Options.
- Обратите внимание, что если вы используете расширение для редактирования файлов markdown сегодня, вам может потребоваться открыть контекстное меню в MD-файле и явно выбрать команду "Открыть с..." и выбрать предпочитаемый вариант.
SQL Server 2022
- Использование нового синтаксиса T-SQL для SQL Server 2022
Средство проверки орфографии
- Visual Studio теперь имеет возможность проверки орфографии для файлов C++, C# и markdown. Эта функция находится на этапе предварительной версии и может быть включена, проверив параметр "Средство проверки орфографии текста" в функциях предварительной версии. Эту функцию также можно переключить из команды "Переключить средство проверки орфографии текста" в разделе "Изменить\Дополнительно" или с кнопки на главной панели инструментов. Для проверки орфографии на C++ необходимо также проверить метку тегов орфографии C++.
- По умолчанию средство проверки орфографии будет использовать словарь en-us, помечать орфографические слова в качестве предупреждений и будет проверять наличие ошибок в комментариях, строках и идентификаторах. Это поведение можно изменить с помощью файла editorconfig.
- Следующие свойства можно использовать для управления средство проверки орфографии в editorconfig:
spelling_languages = _language_,_language_,etc...
spelling_checkable_types = strings,identifiers,comments
spelling_error_severity = error OR warning OR information OR hint
spelling_exclusion_path = absolute OR relative path to exclusion dictionary (File must be UTF16 with BOM encoding)
Пример для .editorconfig:
spelling_languages = en-us,fr-fr
spelling_checkable_types = identifiers,comments
spelling_error_severity = error
spelling_exclusion_path = .\exclusion.dic
Настройка и обновления
- Теперь вы можете легко настроить и добавить компоненты в автономный макет с помощью экспортированного файла *.vsconfig.
- Теперь можно всегда обновлять при закрытии с помощью диалогового окна "Параметры продуктов" Это упрощает автоматическое обновление и безопасность. Дополнительные сведения см. в записи блога.
- Visual Studio добавил звуковые подсказки в установщик! Звуковой сигнал предупреждает пользователя о том, что операция была завершена в установщике или что произошла ошибка путем воспроизведения звука. К ним относятся установка, обновление, изменение и многие другие операции, выполненные установщиком или любыми диалогами ошибок при попытке запрошенной операции. Эта функция включена по умолчанию, и пользователь может отключить ее, выполнив инструкцию, описанную здесь: отключение звуков в установщике
- Visual Studio теперь доступна с помощью средства диспетчера пакетов Windows
Обновления набора средств Teams
- Новый шаблон проекта бота рабочего процесса приложений > Microsoft Teams упрощает создание последовательного рабочего процесса задач, таких как процесс утверждения или система запроса.
- Предварительные версии функций и изменения шаблона проекта в версии 17.5 ( предварительная версия 2 и предварительная версия 3) включают критические изменения для всех ранее созданных проектов приложений Microsoft Teams и не будут включены в общедоступную версию 17.5. Вместо этого мы будем продолжать просматривать эти изменения функций в предварительной версии 17.6 и собирать отзывы.
брокер проверка подлинности Windows
- Используйте брокер проверки подлинности Windows для улучшения безопасности и уменьшения числа запросов.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблеме или предложить функцию с помощью значка отправки отзывов в правом верхнем углу установщика или интегрированной среды разработки Visual Studio или справки > по отправке отзывов. Вы можете отслеживать проблемы в сообществе разработчиков Visual Studio, позволяющем добавлять комментарии или искать решения. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.
Известные проблемы
- Удостоверения для государственных организаций нельзя использовать для лицензии Visual Studio
- Vs 17.5 Preview 2 неправильно компилирует повышение сборки
- Ошибка C2049 компиляции целевых проектов C++/CLI.
- Выполнение параметра "Найти все" в "Весь проект" или "Все решение" не выполняет поиск файлов и не возвращает результаты в папке, например". Тест"
Среда выполнения .NET
Ознакомьтесь со всеми открытыми проблемами и доступными обходными решениями в Visual Studio 2022, следуя приведенным ниже ссылкам.