Заметки о выпуске Visual Studio 2022 версии 17.10
Совет
Просмотрите записи с мероприятия по запуску 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.10
- 11 марта 2024 г. — Visual Studio 2022 версии 17.10.12
- 11 февраля 2024 г. — Visual Studio 2022 версии 17.10.11
- 14 января 2024 г. — Visual Studio 2022 версия 17.10.10
- 12 ноября 2024 г. — Visual Studio 2022 версии 17.10.9
- 8 октября 2024 г. — Visual Studio 2022 версии 17.10.8
- 10 сентября 2024 г. — Visual Studio 2022 версии 17.10.7
- 13 августа 2024 г. — Visual Studio 2022 версии 17.10.6
- 25 июля 2024 г. — Visual Studio 2022 версии 17.10.5
- 9 июля 2024 г. — Visual Studio 2022 версии 17.10.4
- 18 июня 2024 г. — Visual Studio 2022 версии 17.10.3
- 11 июня 2024 г. — Visual Studio 2022 версии 17.10.2
- 29 мая 2024 г. — Visual Studio 2022 версии 17.10.1
- 21 мая 2024 г. — Visual Studio 2022 версии 17.10.0
Блог Visual Studio 2022
Блог Visual Studio 2022 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2022 можно найти в следующих записях:
Visual Studio 2022 версии 17.10.12
выпущено 11 марта 2025 г.
Новые возможности этого выпуска
Устранены проблемы безопасности, указанные в рекомендациях
- CVE-2025-25003 уязвимость повышения привилегий в Visual Studio
- CVE-2025-24070 уязвимость .NET с повышением привилегий
- CVE-2025-24998 уязвимость повышенного привилегированного доступа установщика Visual Studio
Visual Studio 2022 версия 17.10.11
выпущено 11 февраля 2025 г.
Новые возможности этого выпуска
- Исправлена ошибка в оптимизаторе, которая приводила к неправильной генерации кода и влияла на функцию std::sort при вызове из корутины.
Устранены рекомендации по безопасности
- CVE-2025-21206 установщик Visual Studio — элемент неконтролируемого пути поиска позволяет несанкционированному злоумышленнику локально повысить привилегии.
Visual Studio 2022 версии 17.10.10
выпущено 14 января 2025 г.
Что нового в этом выпуске
Сообщество разработчиков
Рассмотрены уведомления о безопасности
- уязвимость удаленного выполнения кода в .NET и Visual Studio CVE-2025-21172
- CVE-2025-21176 уязвимость удаленного выполнения кода в .NET, .NET Framework и Visual Studio
- CVE-2025-21178 уязвимость удаленного выполнения кода Visual Studio
- CVE-2024-50338 символ возврата каретки в удаленном URL-адресе позволяет вредоносному репозиторию осуществлять утечку учетных данных
- CVE-2025-21171 уязвимость удаленного выполнения кода .NET
- CVE-2025-21173 (только для Linux) Уязвимость с повышением привилегий .NET
Visual Studio 2022 версии 17.10.9
Выпущено 12 ноября 2024 г.
Что нового в этом выпуске
Сообщество разработчиков
- Неустранимая ошибка C1001: внутренняя ошибка компилятора
- MSVC 14.40.33807 генерирует некорректный код при использовании std::coroutine и обрезает указатель
- Неправильная генерация кода для /O2 в наборе инструментов MSVC версии 19.38 и выше
- Модули C++ и LINK: неустранимая ошибка LNK1000: внутренняя ошибка во время IncrBuildImage.Pass2
Устранены рекомендации по безопасности
- CVE-2024-43498.NET NrbfDecoder — уязвимость удаленного выполнения кода
- CVE-2024-43499. Уязвимость отказа в обслуживании в компоненте .NET NrbfDecoder
- CVE-2024-49044 уязвимость повышения привилегий в Visual Studio
Visual Studio 2022 версии 17.10.8
Выпущено 8 октября 2024 г.
Новые возможности этого выпуска
- Обновлен пакет Windows 11 SDK (10.0.26100.0), устанавливаемый Visual Studio, до сборки для обслуживания от октября 2024 года.
Сообщество разработчиков
- Индикатор рефакторинга больше не появляется при наведении на волнистые линии
- Инкрементное связывание создает недопустимые библиотеки DLL при включении заголовочных единиц
Устранены проблемы, указанные в советах по безопасности
- CVE-2024-43483 Уязвимость отказа обслуживания в .NET в System.Security.Cryptography.Cose, System.IO.Packaging, System.Runtime.Caching
- CVE-2024-43484 уязвимость типа "Отказ в обслуживании" в .NET в System.IO.Packaging
- CVE-2024-43485 Уязвимость .NET, приводящая к отказу в обслуживании, в System.Text.Json 6.0.x и 8.0.
- CVE-2024-43603 Уязвимость типа "Отказ в обслуживании" в службе сборщика Visual Studio
- CVE-2024-43590 уязвимость повышения привилегий в установщике Visual Studio C++, распространяемом
Visual Studio 2022 версии 17.10.7
Выпущено 10 сентября 2024 г.
Что нового в этом выпуске
- Xamarin Profiler устарел и удален из Visual Studio.
- Исправлена ошибка, из-за которой некоторые компоненты пользовательского интерфейса отображались как больше, чем остальная часть VS.
- Исправлен сбой в средстве DeployAppRecipe.exe.
Сообщество разработчиков
- Неправильная сборка, созданная с помощью /O2, /fp:fast и /arch:avx
- Внутренняя ошибка компилятора при обновлении до версии 17.10.1, предназначенной для ARM64
- В версии 17.11 preview 2.1 компилятор создает неправильный кодовой ген в x86 с фрагментом кода, взятого из векторизованного кода STL для std::min.
- Создание плохого кода VS 17.10 с помощью /O2 /arch:AVX2
- Масштабирование средств диагностики неправильно
Устранены проблемы, указанные в уведомлениях по безопасности
CVE-2024-35272 уязвимость удаленного выполнения кода в SQL Server Native Client OLE DB Provider
Visual Studio 2022 версии 17.10.6
Выпущено 13 августа 2024 г.
Сводка о новинках в данной версии
- Исправлена ошибка, из-за которой компилятор создал инструкции по сравнению векторов AVX во время компиляции /arch:SSE или /arch:SSE2.
- Исправлен сбой компилятора, который был сообщен против 17.10 при компиляции nanobind версии 1.9.2.
- Исправлены регрессии в компиляторе C++, связанные с гарантированным устранением копирования в C++17 или более поздних версиях.
- Исправлена проблема с неправильной компиляцией пакетов параметров шаблона.
- Исправлена проблема, по которой компилятор MSVC не мог компилировать некоторый код в qtwebengine и вместо этого выдал "C2100: нельзя разыменование операнда типа 'v8::internal::compiler::turboshaft::WordRepresentation'".
Сообщество разработчиков
- vs2022 17.10.0p7: ошибка генерации кода MSVC для "ARM64|Релиз" в некоторых конструкциях цикла
- Ошибка во встроенном деструкторе в сборке x86 при включенном SPGO
- Инструкция AVX создается, даже если параметр "Включен расширенный набор инструкций" имеет значение "Не задано".
- Внутренняя ошибка компилятора w/ nanobind версии 1.9.2
- VS 17.10: ложная ошибка компиляции C2102 ("&" требует l-value)
- Компиляция QtWebEingine приводит к внутренней ошибке компилятора C2100
- Инструкции по структуре частично отсутствуют в проекте VB.Net после обновления до версии 17.10.3.
Устранены замечания по безопасности
- CVE-2024-38167 Уязвимость существует в tlsStream среды выполнения .NET, что может привести к раскрытию информации.
- CVE-2024-38168 Уязвимость существует в .NET, когда злоумышленник через неуправляемые запросы может активировать отказ в обслуживании на веб-сервере ASP.NET HTTP.sys. Эта уязвимость относится только к операционной системе Windows.
Visual Studio 2022 версии 17.10.5
Выпущено 25 июля 2024 г.
Сводка о нововведениях в этом выпуске
- Вход в Visual Studio с помощью учетной записи GitHub при запуске Visual Studio теперь является поддерживаемым сценарием. Запуск Visual Studio в качестве другого пользователя происходит, когда имя пользователя, связанное с процессом Visual Studio, не соответствует имени пользователя, вошедшего в ос Windows. Для пользователей, работающих с VS в этих условиях, учетные данные будут сохранены для сеанса Windows, и пользователям потребуется повторно добавить учетные записи GitHub в Visual Studio при перезапуске Windows.
- Восстановите предыдущее поведение управления пакетами NuGet Central, требуя от пользователя включения функции, установив
ManagePackageVersionsCentrally
в true. - Исправлено зависание, вызванное документацией Copilot в краткой информации C++.
- Команда "C# Interactive" доступна в меню "Другие окна" на панели управления, если она присоединена к стандартной панели инструментов.
- "Поставщик управления версиями, связанный с этим решением, не найден". Диалоговое окно больше не отображается при загрузке решений или проектов с набором свойств SccProjectName.
- Azure Attach к службе приложений поддерживает подключение к средам службы Azure с внутренними балансировщиками нагрузки, например, с сайтами, заканчивающимися на
.appserviceenvironment.net
.
Сообщество разработчиков
- Не удалось обрабатывать пакеты NuGet, как в версии 17.9.7 (NU1008)
- VS2022 17.10.1 выдает ошибку в конвейерах Azure DevOps (самостоятельный хостинг)
- Link : ошибка LNK2034: метаданные, несовместимые с таблицей символов COFF, при создании программы C++/CLI, ссылающейся на собственную функцию, с помощью VS 17.9.1
- После обновления до 17.10.0 входные данные будут медленными, когда код относительно длинный
- Ошибки волнистых подчеркиваний и проблемы навигации для проектов в общей сетевой папке
- Меню интерактивной панели инструментов C# отсутствует после повторного открытия VS
- Файл > "Недавний проект" больше не предоставляет возможность удалить несуществующий элемент
- 17.10.0 Preview 2.0 — поставщик управления версиями, связанный с этим решением, не найден
Visual Studio 2022 версии 17.10.4
Выпущено 9 июля 2024 г.
Сводка о том, что нового в этом выпуске
- Обновите MinGit до версии 2.45.2.1, включающую GCM 2.5, которая устраняет проблему с предыдущей версией GCM, в которой она сообщила об ошибке обратно в Git после клонирования и сделала ее похожей на сбой клонирования.
- Исправлена ошибка в коде чтения PDB, чтобы игнорировать ожидаемые сбои в некоторых PDOB-файлах FASTLINK.
- Это исправляет ошибку компилятора с использованием универсальной лямбда-функции, которая ссылается на локальную переменную constexpr (без захвата), и лямбда затем возвращается из окружающей функции.
- Уменьшите размер файла ILK во время добавочного связывания.
- Исправлен сбой в средстве DeployAppRecipe.exe.
- Исправлена проблема с отладкой контейнеров dotnet 6/7 alpine.
- VS теперь включает MAUI 8.0.61 (SR6.1); https://github.com/dotnet/maui/releases/tag/8.0.61
Сообщество разработчиков
- Ошибка: не удается открыть файл (NULL). Код ошибки = 0x0000000D
- Сбои OpenMP в ARM64EC
- Вариант ошибки внутреннего компилятора (1510)
- Проблема при запуске при создании статической отладки STL с включенной функцией ASan
- неустранимая ошибка C1001: внутренняя ошибка компилятора
- После обновления до VS 17.10 размер файлов .ilk значительно увеличился, что привело к фатальной ошибке LNK1210
- "Внутренняя ошибка компилятора" при сборке ARM64|Release после обновления до Visual Studio 2022 17.10.0
- [ОШИБКА КОМПИЛЯТОРА][BAD CODE GEN] Компилятор, вставляющий инструкцию AVX2 в MSVC 17.10.1, предназначенный для Xbox One с /arch:AVX и -d2SSAOptimizer-, вызывая сбой
- ICE с недопустимым шаблоном в VS 2022 17.4 ( предварительная версия 3)
- Новая проблема с отладкой на основе Docker не устранена предыдущая проблема
- Отладка хранимой процедуры из Sql Server Обозреватель объектов ищет файл хранимой процедуры на компьютере.
- Copilot не позволяет мне вводить текст в процессе условной отладки, не перезаписывая введённое
- Отладчик не может найти исходный файл после обновления до версии 17.10.1
Устранены уязвимости, указанные в уведомлениях о безопасности
- 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.10.3
Выпущено 18 июня 2024 г.
Сводка о новых возможностях в этом выпуске
- Visual Studio больше не завершится сбоем после выполнения интерактивной команды C# из MenuController на панели инструментов "Стандартный".
- Использование @ внутри вспомогательного элемента тега в razor-файле может привести к ошибкам компиляции. https://github.com/dotnet/razor/issues/10186
Сообщество разработчиков
- Расширение больше не работает после обновления до версии 17.10.2, расширяемость.Контракты отсутствуют
- vs 2022 typescript intellisense не работает в версии 17.10.1
- Копирование в отладочном визуализаторе текста не работает
- Клавиша TAB ненадежно реагирует на предложения серого текста в Markdown для автодополнений Copilot в Visual Studio 17.8.6
- Интерактивное меню C# отсутствует в панели инструментов | Другие окна
Visual Studio 2022 версии 17.10.2
Выпущено 11 июня 2024 г.
Сводка о новых возможностях в этом выпуске
- Исправлена проблема, из-за которой ошибки TypeScript могут отображаться в файле Razor, хотя в файле TypeScript ошибок нет.
- После обновления до сборки Germanium в Windows WSL требуется обновление вручную. Это может привести к зависаю Visual Studio при открытии проектов CMake.
- VS теперь включает MAUI 8.0.40 (SR5)
- Добавьте дополнительный компонент установщика для недавно выпущенного пакета SDK для Windows версии 10.0.26100.
- Использование пакета SDK для .NET 7 вызвало проблемы при сочетании с проектами Razor. https://github.com/dotnet/razor/issues/10411. Примечание. Серия SDK для .NET 7 не поддерживается. Клиенты, ранее сталкивавшиеся с этой проблемой, должны настоятельно рассмотреть возможность перехода на поддерживаемый пакет SDK для .NET.
Сообщество разработчиков
- Ожидаемая ошибка выражения TS1109 (TS) в файле Razor
- остаток cmdnameRunIntellisenseCheck в инструментах
- Не удается восстановить nuget после обновления сообщества Visual Studio до версии 17.10.0. элемент с тем же ключом уже был добавлен.
- Не удалось выполнить отладку кода x86 на ЦП Sapphire Rapids в Visual Studio 2022
Устранены рекомендации по безопасности
- CVE-2024-30052 Удаленное выполнение кода при отладке файлов дампа, содержащих вредоносный файл с соответствующим расширением
- CVE-2024-29060 Повышение привилегий, в которых запущена затронутая установка Visual Studio
- CVE-2024-29187 Установщики на базе WiX уязвимы для перехвата двоичных файлов при запуске от имени SYSTEM.
Visual Studio 2022 версии 17.10.1
Выпущено 29 мая 2024 г.
Обзор того, что нового в этом выпуске
Сообщество разработчиков
- Visual Studio находится в цикле перезапуска из-за устаревшего расширения GitHub Copilot после обновления
- Не удалось найти пакет SDK "Microsoft.VCLibs.Desktop, version=14.0"
- VS 17.10.0 Preview 3.0 и пользовательская DLL MFC + CLR —> ошибка компоновщика
- Непредвиденное использование vblendps вместо команды vinsertps при использовании инструментальной цепочки 14.39.33523
- cl.exe произошел сбой при создании последней clang для x64
- VS2022 17.10.0 Preview 4 ошибка контроллера или агента теста: Padding некорректен и не может быть устранён
Visual Studio 2022 версии 17.10.0
Выпущено 21 мая 2024 г.
Обзор нововведений в этом выпуске
GitHub Copilot в Visual Studio
GitHub Copilot: ваш компаньон по программированию на основе искусственного интеллекта легко вплетен в интегрированную среду разработки Visual Studio, расширяя повседневные задачи и позволяя вам использовать новейшие возможности программирования на основе искусственного интеллекта. Copilot предназначен для повышения эффективности, предлагая:
- Персонализированные рекомендации по коду
- Создание сообщений коммитов Git
- Ответы на запросы, связанные с программированием
Мы представили новый унифицированный интерфейс Copilot в Visual Studio 17.10. Это объединяет функции Copilot и Copilot Chat в один удобный пакет, устраняя необходимость установки двух отдельных расширений. Наслаждайтесь более глубоко интегрированным интерфейсом искусственного интеллекта! Активируйте подписку на GitHub Copilot сегодня, войдите в GitHub или запустите бесплатную пробную версию для новейших возможностей искусственного интеллекта.
Примечание. Теперь Copilot находится в правом верхнем углу интерфейса Visual Studio.
Улучшите проверки кода с помощью автоматически сгенерированных описаний pull-реквестов
Аналогично нашей созданной функции создания сообщений фиксации в Git, теперь вы можете получить первый черновик описания запроса на вытягивание, который подготовлен GitHub Copilot. Вы получите помощь в предоставлении важного контекста вашим коллегам для их отзывов и проверьте, что включаете правильные изменения в pull request.
Вам потребуется проверить наличие активной подписки на GitHub Copilot и расширения чата GitHub Copilot. Попробуйте использовать его, щелкнув значок пера "Добавить описание запроса на вытягивание искусственного интеллекта" в окне "Создание запроса на вытягивание". Поделитесь своими отзывами об этой функции здесь.
Мы прислушались к вашим отзывам и сокращаем вывод наших генерируемых функций Git Commit. Поделитесь отзывом об этом изменении на тикете в Сообществе разработчиков.
Разбирайтесь в своей истории коммитов с помощью GitHub Copilot
История коммитов в Git может быть сложной для просмотра, но это часто лучший способ узнать о кодовой базе или помочь определить происхождение ошибки. Мы добавили функцию объяснения, использующую GitHub Copilot, в окно сведений о коммите, чтобы упростить понимание содержимого каждого коммита.
Вам потребуется активная подписка на GitHub Copilot и расширение чата GitHub Copilot. Дважды щелкните любой коммит, чтобы открыть панель сведений о коммите в окне репозитория Git. Затем щелкните значок с блестящей ручкой "Объяснить коммит", чтобы получить сводку изменений вместе с кодом. Мы планируем продолжить улучшение этой функции, чтобы поделиться своими отзывами здесь.
Создание облачных приложений с помощью .NET Aspire
.NET Aspire — это специализированный, готовый к облаку стек для создания наблюдаемых, готовых к рабочей среде, распределенных приложений. .NET Aspire предоставляется через коллекцию пакетов NuGet, которые обрабатывают конкретные облачные задачи. Если вы создаете распределенные облачные приложения с помощью контейнерных ресурсов, например PostgreSQL и Redis, или компонентов Azure, например хранилища или служебной шины, .NET Aspire упрощает процесс разработки и обеспечивает дополнительную видимость для распределенных приложений с помощью таких функций, как:
- Запуск и отладка нескольких проектов без необходимости настройки решения
- Встроенная поддержка устойчивости HTTP, проверок работоспособности и OpenTelemetry с использованием специализированных расширений и значений по умолчанию
- Удобные браузерные представления журналов, метрик и распределенных трассировок контейнерных ресурсов и проектов .NET с новым интерфейсом запуска панели мониторинга .NET Aspire
- Новая методология развертывания, созданная на основе Azure Developer CLI (AZD), поэтому в большинстве случаев у вас будет возможность развертывания с несколькими узлами без необходимости писать собственный код инфраструктуры
Отладка и диагностика
Условия сгенерированных точек останова от Copilot
Ускорьте отладку с помощью рекомендаций на основе искусственного интеллекта для условных точек останова и трассировки. Copilot анализирует ваш код, чтобы предлагать интеллектуальные выражения, адаптированные к вашим точкам останова, что упрощает отладку.
При настройке условной точки останова или точки трассировки, когда вы наводите указатель мыши на поле условий в окне параметров, Copilot быстро отображает идеи выражений, созданные ИИ на основе вашего кода. Выберите условие, подходящее для ваших потребностей, и поместите точку останова или точку трассировки без труда.
Визуализация профилировщика счетчиков .NET с новыми инструментами UpDown и ObservableCounter
Профилировщик счетчиков .NET в Visual Studio теперь включает поддержку двух инновационных метрик: UpDown, что позволяет отслеживать значения в режиме реального времени с инкрементальными и декрементальными изменениями, и ObservableCounter, который автономно управляет агрегированными итогами, предлагая настраиваемые делегаты обратного вызова для точного управления. На приведенном снимке экрана "total-hats" иллюстрирует счетчик UpDown, в то время как "orders-pending" демонстрирует счетчик ObservableCounter.
Кроме того, мы реализовали всплывающее меню фильтра, что позволяет удобно фильтровать точки данных на основе тегов. Это динамически настраивает представления сводки и плавающей дорожки в соответствии с примененными сочетаниями.
Это улучшение значительно повышает гибкость, упрощая мониторинг динамических значений в проектах. Например, в разработке веб-приложений счетчик UpDown может отслеживать взаимодействие пользователей, такие как просмотры страниц, в то время как наблюдаемый счетчик оптимизирует серверные ресурсы, эффективно управляя количеством активных сессий.
Аналитика GC в окне управляемой памяти
Вкладка "Аналитика управляемой памяти" теперь поддерживает GC Insights. Эта функция предоставляет более глубокое понимание производительности вашего приложения путем проливания света на случаи вызова сборки мусора (GC). Эти экземпляры обычно считаются нежелательными, так как они могут препятствовать эффективности ваших процессов, поскольку они требуют ручного вмешательства вместо того, чтобы позволять сборщику мусора самостоятельно управлять выделением памяти. Кроме того, GC Insights предлагает возможность анализировать эти вхождения с оценками времени, что позволяет лучше понять влияние индуцированного GC на временную шкалу выполнения приложения.
Создание условных точек останова и точек трассировки из выражений
Это обновление упрощает отладку с новыми параметрами меню: "Вставить условную точку останова" и "Вставить точку трассировки". Теперь можно легко создавать точки останова, используя имена свойств или полей и значения из автозаполнения, локалов, окон наблюдения или DataTips. Это упрощает отладку рабочих процессов, особенно для сложных выражений.
Упрощение исследования использования памяти с помощью инструмента памяти
Новая функция "Горячий путь к корню" улучшает анализ памяти, найдя наиболее вероятный путь к корню для вычисления общего размера объекта. Он преобразует граф кучи в дерево, используя такие оптимизации, как приоритизация кратчайшего пути и избегание циклических путей к реальным корням. Эта функция служит отличной отправной точкой для исследований памяти и известна как "Горячий путь к корню" в обзорной диаграмме средства использования памяти. Вы увидите горячий путь, обозначенный красным значком, в дереве ниже.
Подключение к процессу диалогового окна
Диалоговое окно "Присоединение к процессу" в Visual Studio было значительно улучшено для улучшения функциональности и удобства пользователя. К этим обновлениям относятся простая интеграция с темами Visual Studio, более свободное представление с подсказками для сведений о подключении и настройка локального подключения в качестве значения по умолчанию для быстрого доступа. Теперь вы можете легко переключаться между представлениями дерева и списка, упрощать организацию процессов с помощью сворачиваемых разделов и выбирать типы кода с упрощенным комбобоксом. Кроме того, функция "Выбрать/Отслеживать окно" теперь проще в использовании: она позволяет двустороннее отслеживание, при котором выбор процесса выделяет его окно, а нажатие на окно выбирает его процесс.
Целевое инструментирование для EXE
Средство инструментирования профилировщика производительности теперь позволяет проводить целевое профилирование для любого исполняемого файла (exe). После выбора exe-файла появится целевое диалоговое окно инструментирования, аналогичное профилированию проекта запуска. Это улучшение позволяет анализировать метрики производительности для определенных исполняемых файлов. Кроме того, можно расширить область профилирования, включив дополнительные библиотеки динамических ссылок (DLL) с помощью кнопки "Добавить элемент", повышая производительность приложения.
Производительность Blazor при отладке некоторых проектов
При создании проектов ASP.NET Core Blazor могут возникнуть значительные задержки при запуске отладки в некоторых случаях. В этом выпуске мы внесли изменения, которые должны предотвратить эти задержки. Если вы не можете обновить до версии 17.10 или выше, существует обходное решение, указанное на сайте Сообщество разработчиков версии 17.9.
Отмена загрузки решения
Если вы хотите остановить процесс загрузки решения перед загрузкой всех проектов. Теперь можно отменить операцию и вернуться в пустую среду разработки.
Средства разработки Microsoft Teams (Набор средств Teams)
Набор средств Teams теперь включает новый файл проекта (.ttkproj), который используется для упорядочивания всех файлов для управления приложением Teams. При создании проекта приложения Microsoft Teams будет создано решение с двумя проектами, и вы увидите проект TeamsApp, содержащий манифест приложения и другие файлы для функций Teams Toolkit вместе с другим проектом C# с примером кода для реализации возможностей приложений, таких как беседовый бот, tab и т. д.
Вы также найдете следующие изменения:
- Меню проекта Teams Toolkit теперь доступно для обнаружения в проекте TeamsApp
- Поддержка функций предварительного просмотра. Включите профили запуска нескольких проектов, чтобы упростить начало отладки в Teams, Outlook или других поддерживаемых платформах вашего приложения Teams.
Новые улучшения рабочей нагрузки и шаблона WinUI
Начало работы с WinUI никогда не было проще
Новый набор инструментов для разработки приложений для Windows теперь доступен разработчикам, чтобы быстро приступить к созданию стильных, современных и быстрых приложений WinUI с использованием .NET. С помощью одного щелчка вы готовы к установке.
Если вы хотите написать приложение WinUI в C++, можно выбрать необязательный компонент в этой рабочей нагрузке.
Быстрее погружайтесь в WinUI с лучшим выбором шаблонов и новыми шаблонами для модульных тестов
Шаблоны WinUI получили новый значок и повышение приоритета в списке выбора шаблонов нового проекта, что делает их более доступными. Самые популярные шаблоны пустых приложений для C# и C++ находятся в верхней части, чтобы вы могли переходить к коду, не выполняя поиск или прокрутку. Мы также добавили новые шаблоны модульных тестов, запрошенные сообществом для WinUI, чтобы упростить тестирование приложений!
Расширяемость
Теперь можно использовать установщик Visual Studio 2022 версии 17.10 для экспорта установленных расширений Marketplace, применяемых ко всей среде, в файл *.vsconfig. Эта новая функция экспорта дополняет возможность установщика Visual Studio загружать расширения, указанные в файле *.vsconfig, который мы отправили в 17.9. Если у вас есть какие-либо отзывы или предложения об этом опыте, сообщите нам в нашем Сообщество разработчиков.
Дополнительные сведения об использовании файлов *.vsconfig см. в интерактивной документации.
Подсказки вставки для кода C# в файлах Razor
Теперь вы можете включить подсказки-вставки для кода C# в файлах Razor (.razor, .cshtml). Подсказки Inlay отображают имена параметров для литералов и создания объектов, встроенные непосредственно в ваш код. Подсказки inlay также могут отображать типовые подсказки для переменных с выводными типами (например, var
) и типы параметров-лямбда. Эту функцию можно включить с помощью текстового редактора > параметров > инструментов > C# > Advanced.
Поиск кода и навигация
В службе "Все в одном поиске" мы внесли некоторые изменения, чтобы упростить пользовательский интерфейс и улучшить удобочитаемость. Эти изменения включают удаление выделения совпадений в запросе, удаление строки состояния с подсчетами каждого типа результатов и перемещение сообщений о состоянии в строку фильтров.
Сообщите нам, что вы думаете о Сообщество разработчиков.
Повышение удобочитаемости Visual Studio с помощью новых параметров форматирования текста
Мы улучшили поддержку курсивного шрифта в Visual Studio 2019, добавив курсив, перечеркивание и подчеркивание в качестве дополнительных параметров форматирования текста по всей интегрированной среде разработки.
Чтобы использовать новые параметры для персонализации взаимодействия, перейдите на страницу "Шрифты и цвета" в среде параметров инструментов >> , где вы найдете флажки для каждого из упомянутых ранее параметров.
Предварительный просмотр при наведении курсора на изображение
Любой веб-разработчик, разработчик настольных компьютеров или мобильных устройств часто работает с изображениями. Вы ссылаетесь на них из C#, HTML, XAML, CSS, C++, VB, TypeScript и даже в комментариях к коду. Некоторые изображения являются локальными, другие присутствуют в Интернете или на сетевых ресурсах, а третьи существуют только в виде строк в кодировке base64. Мы ссылаемся на них различными способами в коде, но всегда как на строковые значения, которые не показывают нам, как выглядит изображение. До настоящего момента.
Мы добавили подсказку редактора, которая появляется при наведении указателя мыши на ссылку на изображение в редакторе кода. Всплывающая подсказка показывает изображение в исходном размере, но с максимальным ограничением в 500 пикселей в ширину и высоту. Под изображением в предварительном просмотре вы увидите размер изображения в пикселях и размер файла в байтах. Эта функция была разработана в тесном сотрудничестве с сообществом Visual Studio. Спасибо!
Внепроцессный конструктор Windows Forms
Улучшения производительности в внепроцессном конструкторе Windows Forms
Благодаря плодотворной совместной работе с ключевым партнером мы рады сообщить о существенных улучшениях процесса сервера WinForms TypeResolutionService. Эти улучшения привели к значительным улучшениям производительности времени разработки, в диапазоне от 30% до впечатляющих 50% в типичных бизнес-приложениях. В частности, эти улучшения особенно проявляют себя во время сценариев, которые запускают перезапуск процесса сервера и перезагрузку дизайнера, таких как перестроение проекта или корректировки ссылок на проект. В основе этих улучшений производительности лежит новый механизм, реализованный нашей командой, дающий приоритет сборкам, критически важным для загрузки конструктора. Мы рекомендуем вам изучить обновленный конструктор и поделиться бесценными отзывами через канал обратной связи VS, чтобы мы могли продолжать улучшать производительность конструктора WinForms.
SQL
SSDT поддерживается в Visual Studio для ARM64
Теперь можно создать проекты баз данных в Visual Studio для ARM64. Ниже приведены некоторые основные функции SSDT, доступные в этом выпуске:
- Проекты базы данных (открытие, сборка, публикация)
- Сравнение схем
- Сравнение данных
- Редактор запросов
- Конструктор таблиц
- Редактор свойств базы данных
- Рефакторинг объектов
Ниже приведены некоторые ограничения этого выпуска.
- Отладчик
- IntelliSense
- Разработка базы данных на локальном компьютере с помощью localdb
Поддержка MCD (многостолбчатое распределение) в SSDT
Теперь пользователи смогут задать уровень совместимости dw во время экспорта.
- Мы добавили новый параметр базы данных в параметры базы данных на вкладке "Операционная вкладка". Он называется уровнем совместимости DW.
- Возможные значения: Auto|10|20|30|40|50|9000, и это допустимо только для целевого хранилища данных SQL Microsoft Azure.
Теперь обновления Visual Studio будут включать рекомендуемые компоненты
Рабочие нагрузки, которые пользователи выбирают во время установки, приходят с необходимыми и рекомендуемыми компонентами. Обязательные компоненты важны для функциональных возможностей рабочей нагрузки, а рекомендуемые компоненты, хотя и необязательные, играют важную роль в максимизации его потенциала.
С момента выпуска Visual Studio 2017 текущие улучшения интегрированы в интегрированную среду разработки с помощью дополнительных обновлений версий. Эти улучшения повышают производительность и расширяют возможности разработки, легко интегрируются как в существующие компоненты, так и в новые. Однако многие пользователи могут не знать об этих новых рекомендуемых компонентах при добавочном обновлении. Для решения этой проблемы, начиная с версии 17.10 P1, Visual Studio автоматически установит эти новые рекомендуемые компоненты во время обновлений. В частности, рекомендуемые компоненты, установленные во время обновления, предназначены только для рабочих нагрузок, выбранных пользователями.
Аналогичным образом во время обновлений эта функция гарантирует, что новые рабочие нагрузки не установлены. Кроме того, все существующие рекомендуемые компоненты, которые пользователи решили не устанавливать, остаются нетронутыми.
Если вы предпочитаете не использовать эту функцию, ее можно легко отменить в диалоговом окне "Параметры обновления" в установщике. Вы также можете удалить рекомендуемые компоненты, если они больше не нужны, изменив установку.
Список всех компонентов в Visual Studio, включая рекомендуемые компоненты, см. в разделе Идентификаторы компонентов Visual Studio.
Улучшено обнаружение влияния на производительность эмулятора Android
Visual Studio проверяет аппаратное ускорение при попытке запустить эмулятор Android и отобразит полезные диалоги, объясняющие потенциальные последствия производительности. Если компьютер не настроен или не поддерживает аппаратное ускорение с помощью платформы гипервизора Windows (WHPX), теперь требуется драйвер гипервизора эмулятора Android (AEHD). Диспетчер ускорения аппаратного выполнения Intel (HAXM) устарел из API уровня 33 и выше эмулятора Android, а на процессорах Intel был заменен на AEHD.
Дополнительные сведения см. в статье "Включение аппаратного ускорения с помощью эмуляторов Android" (Hyper-V и AEHD)
Связывание рабочих элементов с пул-реквестами
Наиболее востребованной функцией, запрашиваемой пользователями Azure DevOps при создании запроса на слияние в Visual Studio, являлось добавление возможности связывания рабочих элементов. Теперь можно использовать раздел "Связанный рабочий элемент", чтобы просмотреть все рабочие элементы, на которые вы ссылаетесь в описании запроса на вытягивание, и связать рабочие элементы с запросом на вытягивание в Azure DevOps.
C++
- Мы добавили поддержку закрепления объектов CMake в представлении объектов CMake. Теперь для закрепленных целевых объектов используется папка верхнего уровня. Вы можете закрепить любые целевые объекты, щелкнув
Pin
правой кнопкой мыши и выбрав параметр в контекстном меню.
Вы также можете открепить любой объект в папке закрепленных объектов, выбрав Unpin
.
Набор инструментов MSVC увеличит младший номер версии с
19.39
(VS 2022 версии 17.9) до19.40
(VS 2022 версии 17.10). Набор инструментов MSVC будет версии 19.40.33521.0 в предварительной версии 1. Для получения более подробной информации см. запись в блоге о Minor Version Number 14.40 для MSVC Toolset в VS 2022 версии 17.10.Теперь вы можете использовать Build Insights для просмотра информации о создании экземпляров шаблона. Коллекция экземпляров шаблонов должна быть активирована в Инструменты > Параметры > Build Insights.
Мы добавили дополнительные макросы Unreal Engine, чтобы обеспечить отступ в соответствии со стилем кода Unreal Engine.
Теперь вы можете сохранить подключаемый модуль Unreal Engine, необходимый для адаптера тестирования Unreal Engine в фоновом режиме, что значительно снижает затраты на запуск. Это функция опции, которая может быть активирована с помощью Инструменты > Настройки > Unreal Engine.
Визуализация макета памяти C++
Visual Studio теперь имеет функцию визуализации макета памяти C++ . Эта функция отображает макет памяти классов, структур и профсоюзов в редакторе, устраняя необходимость компиляции. Ссылка "Макет памяти" отображается в краткой информации при наведении указателя мыши на типы. Щелкнув эту ссылку, откроется окно с макетом памяти выбранного типа с подробными сведениями о размере и смещениях отдельных типов данных.
Изоляция приложений Win32
Прорывная функция безопасности, которая улучшает конфиденциальность пользователей и целостность приложений. Основы AppContainers гарантируют, что изоляция Win32 приложений обеспечивает изолированную среду, ограничивая влияние потенциальных взломов.
Теперь разработчики могут легко изолировать приложения в Visual Studio, упрощая процесс и повышая общую безопасность своих проектов. Вы можете напрямую взаимодействовать с сообществом разработчиков и предоставлять отзывы о новых функциях и улучшениях.
Известные проблемы
- Пользователи, имеющие программное обеспечение для управления привилегиями из Delinea, могут столкнуться с проблемами при запуске Visual Studio. Delinea знает об этой проблеме и устранила её. Для получения инструкций по устранению этой проблемы свяжитесь с ними через https://delinea.com/support.
- Диалоговое окно управления версиями - Пожалуйста, обратитесь к тикету для получения обходного решения, чтобы избежать показа диалогового окна с сообщением "Поставщик системы управления версиями, связанный с этим решением, не найден."
- Пользователи C++, разрабатывающие для UWP, могут столкнуться с ошибкой сборки из-за отсутствия папки
C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
. Дополнительные сведения и обходные пути см. в тикете. Эта проблема находится в стадии определения приоритета. (обновлено 29 мая 2024 г.: это исправлено в выпуске 17.10.1). - Пользователи C++, создающие управляемые библиотеки DLL MFC, могут столкнуться с ошибкой сборки
error LNK2001: unresolved external symbol "public: __cdecl PostDllMain::PostDllMain(void)"
. Смотрите заявку для получения дополнительных сведений и обходных путей. Эта проблема получает приоритет. (обновлено 29 мая 2024 г.: это исправлено в выпуске 17.10.1). - Оптимизация в компиляторе C# приводит к тому, что сравнения между значениями типа decimal?, равными null, и значениями типа decimal, равными 0,00, неправильно считаются равными. Дополнительные сведения доступны в репозитории компилятора .NET.
- Недавнее обновление, внесенное в базовый компонент Windows, привело к критическому изменению окна средств диагностики, которое, в свою очередь, влияет на средства профилировщика. Это влияет на все версии Visual Studio 2022. Дополнительные сведения и последние обновления можно просмотреть на сайте Сообщество разработчиков.
Примечание.
Это обновление может включать новое программное обеспечение Майкрософт или стороннее программное обеспечение, лицензированное отдельно, как указано в уведомлениях сторонних поставщиков или в соответствующей лицензии.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблеме или предложить функцию с помощью значка отправки отзывов в правом верхнем углу установщика или интегрированной среды разработки Visual Studio или справки > по отправке отзывов. Вы можете отслеживать проблемы в сообществе разработчиков Visual Studio, позволяющем добавлять комментарии или искать решения. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.