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



| Условиялицензионного соглашения о | лицензиях | на выпускираспространяемого кода | | Developer Community System Requirements | Compatibility |


Примечание

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



Новые возможности Visual Studio 2019 версии 16.1

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

Эта версия теперь не поддерживается. Дополнительные сведения о поддержке Visual Studio см. в политике поддержки Visual Studio 2019.

Ознакомьтесь с последней версией заметок о выпуске или посетите сайт Visual Studio , чтобы скачать последнюю поддерживаемую версию Visual Studio 2019.

Выпуски Visual Studio 2019 версии 16.1

Блог Visual Studio 2019

Блог Visual Studio 2019 является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 2019 версии 15.9 можно найти в следующих записях:


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

Выпущено 9 июля 2019 г.

Уведомления с советами по обеспечению безопасности

CVE-2019-1077 Уязвимость автоматического обновления расширения Visual Studio

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

CVE-2019-1075 Уязвимость спуфинга в ASP.NET Core

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

Это обновление для системы безопасности устраняет эту уязвимость, исправляя методы анализа URL-адресов в ASP.NET Core. Сведения см. в заметках о выпуске .NET Core.

CVE-2019-1113 Десериализация XOML в WorkflowDesigner допускает выполнение кода

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

Дополнительные сведения см. в статье https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


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

Выпущено 2 июля 2019 г.

###Summary проблем, устраненных в Visual Studio 2019 версии 16.1.5


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

Выпущено 25 июня 2019 г.

Сводка проблем, решенных в Visual Studio 2019 версии 16.1.4


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

Выпущено 11 июня 2019 г.

Сводка проблем, решенных в Visual Studio 2019 версии 16.1.3


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

Выпущено 4 июня 2019 г.

Сводка проблем, решенных в Visual Studio 2019 версии 16.1.2


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

Выпущено 24 мая 2019 г.

Сводка проблем, решенных в Visual Studio 2019 версии 16.1.1


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

Выпущено 21 мая 2019 г.

Сводка новых возможностей Visual Studio 2019 версии 16.1

IDE

  • Visual Studio IntelliCode теперь является общедоступным решением. Оно поставляется с любой рабочей нагрузкой, которая поддерживает C#, C++, TypeScipt/JavaScript или XAML.
  • Добавлена поддержка учета характеристик монитора.
  • Доступны новые исправления кода для C#.
  • В поиск Visual Studio добавлена функция просмотра недавно использованных элементов.

Отладчик

  • Реализованы улучшения аутентификации ссылки на источник.
  • Сервер символов nuget.org добавлен в список серверов символов по умолчанию.
  • Предварительная версия отладки перехода по времени теперь поддерживает отладку исключений по шагам.

Расширение среды

  • Снято требование наличия RESX-файла в проектах VSIX (обновление BuildTools).
  • В шаблоне проекта VSIX теперь используется новая версия пакета SDK.

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

  • Выполнена оптимизация для ускорения загрузки очень больших решений.
  • Создатели шаблонов могут добавлять настраиваемые теги в свои шаблоны.
  • Поддержка CodeLens для настраиваемых пользовательских интерфейсов.
  • Предоставлены обновления реализации протокола языкового сервера.
  • Обновлено поведение переключения между решениями, папками и другими представлениями.

C++

F#

.NET

  • В число новых функций для повышения производительности .NET входит очистка кода в проектах и решениях одним действием, новое сочетание клавиш для комментирования и раскомментирования блоков, рефакторинг для перемещения типов в другие пространства имен.
  • Пользователи теперь могут клонировать код по URI SSH, используя экран клонирования в окне запуска.
  • Улучшения производительности .NET включают в себя завершение IntelliSense для неимпортируемых типов, включение и отключение однострочных комментариев, экспорт стилей именования в editorconfig, а также новый параметр стиля кода для использования директивы using в пространстве имен и за его пределами.
  • Реализованы дополнения средств пакета SDK для .NET для поддержки проектов WinForms и WPF для .NET Core 3.0, а также для исправления ошибок и улучшения производительности.
  • Выпущен пакет SDK Visual Studio v16.0 для NuGet.
  • Выпущена предварительная версия Конструктора XAML для .NET Core 3.0 WPF.

Xamarin

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

Сведения о новых возможностях Visual Studio 2019 версии 16.1

  • IntelliCode теперь является общедоступным решением. Оно поставляется с любой рабочей нагрузкой, которая поддерживает C#, C++, TypeScipt/JavaScript или XAML.
  • Функции IntelliCode предварительной версии (пользовательские модели, поддержка C++, служб терминалов, JavaScript, а также вывод Editorconfig) отключены по умолчанию. Чтобы включить их, откройте меню Средства > Параметры > IntelliCode.
  • Удален шаблон Editorconfig (IntelliCode) из мастера создания элемента. Чтобы добавить выводимый файл EditorConfig, щелкните правой кнопкой мыши в нужном месте в Обозревателе решений и выберите Добавить > Новая конфигурация редактора (IntelliCode).
  • Используйте окно запуска, чтобы клонировать код из онлайн-репозитория по протоколу SSH.
Клонирование с помощью SSH в окне запуска
Клонирование по протоколу SSH из окна запуска
  • Visual Studio IntelliCode устанавливается по умолчанию при установке рабочей нагрузки, которая поддерживает C#, XAML или C++.
    • Базовые модели C# и XAML будут включены по умолчанию.
    • Предварительные версии функций, такие как обучение пользовательской модели и дополнение аргументов, можно включить, выбрав Сервис > Параметры > IntelliCode.
  • Добавлена поддержка учета характеристик монитора
  • Доступны новые исправления кода для C#.
  • Добавлена поддержка учета характеристик монитора для WinForms на основе окна PropertyBrowser в Visual Studio. На компьютере должна быть установлена версия .NET Framework 4.8 RTM.
  • Ссылки на источник теперь могут использовать проверку подлинности Windows для поддержки локальной системы управления версиями TFS.
  • Сервер символов nuget.org добавлен в список серверов символов по умолчанию.

Project

  • Теперь кнопка для переключения представлений обозревателя решений будет постоянно отображать раскрывающееся меню всех возможных представлений.
Переключение решений
Переключение между представлениями в решении
  • Улучшено время загрузки очень больших решений. Оно зависит от размера решения.

  • Удалено диалоговое окно преобразования в разделе "Файл" > "Преобразовать". Этот компонент был нерекомендуемым в Visual Studio 2015.

  • Обновлены правила проверки для схем task.vs.json и launch.vs.json и добавлены описания свойств.

  • Добавлена поддержка для удаленной отладки в Linux с помощью пользовательской программы, запускаемой через launch.vs.json.

Расширение среды

  • Теперь в расширениях можно использовать последнюю версию Microsoft.VisualStudio.SDK, предназначенную для Visual Studio 2019. Эту версию пакета SDK следует использовать только в том случае, если наименьшей поддерживаемой версией Visual Studio является 16.0.
  • При создании новых проектов VSIX теперь будет использоваться версия 16.0 пакета NuGet Microsoft.VisualStudio.SDK.
  • Пользователи могут добавлять теги в шаблоны проектов для включения категоризации и фильтрации в диалоговом окне создания проекта в Visual Studio 2019. Можно выбрать встроенные теги или воспользоваться собственными пользовательскими тегами для языка, платформы и типа проекта.
Добавление тегов шаблонов
Добавление тегов в шаблоны
  • Теперь расширения CodeLens могут отображать произвольное содержимое пользовательского интерфейса во всплывающих окнах сведений CodeLens.

  • Обновления протокола языкового сервера:

    • поддержка проецируемых буферов для включения LSP для различий внутри кода и файлов Razor в LiveShare;
    • поддержка ненужной диагностики;
    • поддержка textDocument/typeDefinition;
    • поддержка textDocument/foldingRange (структурирование).
  • Снято требование наличия RESX-файла в проектах VSIX (обновление BuildTools)

  • Пакет NuGet Microsoft.VSSDK.BuildTools теперь предоставляет пустой RESX-файл при построении, если RESX со свойством MergeWithCTO не существует. Большинству расширений для объединения RESX-файл не требуется (и не используется ими) — таким образом обеспечивается чистота проекта.

  • Изменения функции учета характеристик монитора могут повлиять на некоторые расширения. Узнайте больше о поддержке учета характеристик монитора для расширителей Visual Studio.

Редактор

  • При получении фокуса поиск Visual Studio будет отображать три последних использованных действия, вызванных функцией поиска в Visual Studio, как показано в этом примере макета. (Примечание. В этом макете значки и определенные элементы строк обновлены лишь частично.)
Поиск в Visual Studio
Макет поиска в Visual Studio

C++

  • Используйте локальную подсистему Windows для установки Linux (WSL) с C++ без дополнительной настройки или SSH-подключения благодаря встроенной поддержке Visual Studio.
подсистема Windows для Linux
Подсистема Windows для Linux
  • AddressSanitizer теперь можно использовать в Visual Studio для проектов Linux и WSL.
Интеграция ASan
Интеграция ASan
  • Теперь при разработке для Linux можно изолировать компьютеры удаленной сборки от компьютеров удаленной отладки (доступно для проектов MSBuild и CMake).
  • Подсказки с краткими сведениями теперь содержат ссылку для поиска онлайн-документации, позволяя получить сведения о конструкциях в коде. Для кода, подчеркнутого волнистой красной линией, ссылка в кратких сведениях ведет на поиск ошибки в Интернете.
  • Код внутри подсказки с краткими сведениями теперь выделяется теми же цветами, что и в редакторе.
Цветной код в подсказках
Цветовое выделение кода в подсказках с краткими сведениями
  • Автоматическое быстрое исправление предупреждений анализа кода C6001: using uninitialized memory <variable> и C26494 VAR_USE_BEFORE_INIT стали доступны с использование значка лампочки в соответствующих строках. По умолчанию они включены в минимальном наборе правил Майкрософт для машинного кода и наборах правил для типов в C++ Core Check соответственно.
Быстрые исправления для анализа кода
Новые быстрые исправления анализа кода
  • Усовершенствования редактора параметров CMake, включая поддержку для подсистемы Windows для Linux (WSL) и конфигураций из существующих кэшей, изменения корневых каталогов сборки и установки по умолчанию и поддержку переменных среды в конфигурациях Linux CMake.
Улучшения редактора параметров CMake
Усовершенствования редактора параметров CMake
  • Улучшенное ведение журнала для удаленных подключений упрощает диагностику проблем, связанных с кроссплатформенной разработкой.
Улучшенное ведение журнала для удаленных подключений
Улучшенное ведение журнала для удаленных подключений
  • Теперь при разработке для Linux можно отделить компьютер удаленной сборки от компьютера удаленной отладки (это особенность для проектов MSBuild, но скоро она будет доступна для CMake).
  • Теперь панель шаблонов может заполнять раскрывающееся меню на основе экземпляров шаблона в базе кода.
Раскрывающееся меню
Новое раскрывающееся меню панели шаблонов
  • IntelliCode для C++ теперь поставляется вместе с рабочей нагрузкой и включается в разделе Сервис > Параметры > IntelliCode > Общие. В этой версии IntelliCode повышен уровень точности и включена поддержка бесплатных функций.
  • Интеграция CMake теперь поддерживает цепочку инструментов Clang/LLVM для проектов, предназначенных для Windows или Linux. Вы можете создавать, редактировать и отлаживать проекты CMake, использующие Clang, MSVC или GCC.
Интеграция CMake поддерживает цепочку инструментов Clang/LLVM
Интеграция CMake поддерживает цепочку инструментов Clang/LLVM
  • Лампочки для отсутствующих #include, которые могут быть установлены с помощью vcpkg, и автозавершение доступных пакетов для директивы find_package CMake.
Автозавершение доступных пакетов
Автозавершение доступных пакетов
  • Версия CMake, которая поставляется с Visual Studio, обновлена до версии 3.14. В этой версии появилась встроенная поддержка генераторов MSBuild, предназначенных для проектов Visual Studio 2019, а также API интеграции интегрированной среды разработки на основе файлов.

  • Были внесены изменения в страницы свойств "Общие" для проектов C++: некоторые параметры перенесены на новую страницу "Дополнительно". На странице "Дополнительно" также находятся дополнительные свойства для архитектуры набора инструментов, отладочных библиотек, дополнительного номера версии набора инструментов MSVC и сборок Unity (JUMBO).

  • В реализацию стандартной библиотеки C++, доступной в разделе /std:c++latest, добавлены следующие предварительные версии функций C++20:

    • starts_with() и ends_with() для basic_string/basic_string_view;
    • contains() для ассоциативных контейнеров;
    • remove(), remove_if() и unique() для list и forward_list теперь возвращают size_type;
    • shift_left()и shift_right() добавлены в <algorithm>.
  • В компиляторе C++, доступном в разделе/std:c++latest, были реализованы следующие предварительные версии функций C++20:

    • улучшена возможность поиска шаблонов функций с помощью зависящего от аргументов поиска выражений вызова функции с явно заданными аргументами шаблона (P0846R0);
    • выделена инициализация (P0329R4), что позволяет выбирать определенные члены в агрегатной инициализации, например с помощью синтаксиса Type t { .member = expr }.
  • Полностью переработана поддержка лямбда-выражений и устранено большое количество давних проблем. При использовании /std:c++latest это изменение включено по умолчанию. В других режимах языка /std:c++* и в режиме по умолчанию новое средство синтаксического анализа можно включить с помощью /experimental:newLambdaProcessor, например /std:c++17 /experimental:newLambdaProcessor.

  • Внутренняя документация в редакторе для CMake

  • Завершения и краткие сведения для встроенных команд, переменных и свойств CMake упрощают редактирование файлов CMakeLists.txt.

Сведения о подсказке для add_subdirectory команды CMake
Сведения во всплывающей подсказке для команды CMake add_subdirectory

F# и средства для F#

В этом выпуске относительно мало обновления для языка и средств F#, но есть несколько приятных мелочей. Как и в случае с обновлением VS 16.0, основное внимание в этом выпуске уделялось производительности средств редактора.

Компилятор F# и F# interactive
  • Добавлена поддержка P/Invoke в F# Interactive для .NET Core (#6544).
  • Оптимизирован компилятор для Span<'T> при использовании в цикле for (#6195).
  • Реализована оптимизация, позволяющая избежать лишних выделений Some для параметров F# в нескольких сценариях (#6532).
  • Изменен порядок выполнения выражений, которые используются при создании экземпляра анонимных записей. Теперь они выполняются не в алфавитном порядке, а сверху вниз, как в основном интерфейсе записей (#6487).
  • Устранена ошибка, из-за которой очень большие литеральные выражения или объявления структур могли вызвать переполнение стека в компиляторе при сборке (#6258).
  • Устранена ошибка, из-за которой точки останова не срабатывали при отладке функции с анонимными записями (#6512).
  • Устранена ошибка, из-за которой передача анонимных записей в конструкции, ожидающие параметр obj, вызывала сбой компилятора (#6434).
  • Устранена ошибка, из-за которой цикл for var expr1 to expr2 do ... приводил к неожиданно правильному (и отклоняемому) синтаксису (#6586).
  • Устранена ошибка, из-за которой анонимные записи нельзя было использовать с событиями (#6572).
  • Исправлена давняя ошибка, из-за которой в FsLexYacc создавались анализаторы огромных размеров (более 100 миллионов строк) (#5967).
  • Устранена давняя ошибка в подключаемом модуле поставщика типов для компилятора, которая приводила к утечке памяти из-за поставщика типа (#6409).
  • Добавлена поддержка --pathmap в компилятор F#, созданный Солом Реннисоном (Saul Rennison), что позволило устранить проблему, из-за которой созданный исполняемый файл содержал абсолютные пути к исходным файлам во внедренном ресурсе файла подписей F# (#5213).
  • Пользователем ncave добавлена оптимизация AST для F#, которая улучшает использование в других средствах и средах (например, Fable) (#6333).
  • Стеффен Форкманн (Steffen Forkmann) добавил оптимизацию обхода информации при разрешении элементов (#4457).
  • Готье Сигей (Gauthier Segay) улучшил некоторые сообщения об ошибках, связанных с отсутствием реализации типов, и теперь они выводят список отсутствующих необходимых переопределений (#4982).
Инструменты F#
  • Раскрывающийся список требуемой версии .NET Framework для проектов F# в пакете SDK для .NET теперь будет содержать значения для всех доступных значений .NET Core, .NET Standard и .NET Framework, чтобы упростить миграцию на .NET Core из .NET Framework с помощью пакета SDK для .NET.
  • Исправлена ошибка, из-за которой переименование параметров универсального типа создавало имена с двойным экранированием обратным апострофом (#5389).
  • Устранена давняя проблема, из-за которой для поставщиков типов создавалось избыточное количество экземпляров, что со временем приводило к выделению больших объемов памяти (#5929).
  • Устранена старая проблема, из-за которой чтение IL приводило к ненужному выделению 20 МБ за короткий период времени (#6403).
  • Василий Кириченко устранил ошибку, из-за которой метод GetToolTipText в службе компиляции F# мог отображать одинаковую сигнатуру XML для нескольких перегрузок элементов (#6244).
Инфраструктура открытого кода F#

Наконец мы улучшили процедуру публикации следующим образом:

  • Завершен процесс сборки из исходного кода, что позволяет создать компилятор и основную библиотеку F# из репозитория сборки исходного кода .NET Core.
  • Удалена зависимость от netstandard1.6, и теперь вся база кода единообразно предназначена для netstandard2.0 и net472.
  • Добавлен файл .vsconfig в корневую папку репозитория, чтобы использующим Visual Studio участникам не нужно было заранее выяснять, какие элементы нужно устанавливать.
  • Переписан файл README проекта для удаления потенциально противоречивой информации, в том числе краткое руководство по началу работы в роли участника. Мы постарались включить больше возможностей в сообщения о типах изменений, которые мы хотели бы реализовать.

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

  • Теперь доступно экспериментальное завершение IntelliSense для неимпортируемых типов. Пользователи теперь получают предложения IntelliSense для всех типов в зависимостях проекта, даже если соответствующая инструкция импорта еще не добавлена в рабочий файл. Этот параметр включается в меню Сервис > Параметры > Текстовый редактор > C# > Intellisense.
Завершение Intellisense для не импортированных типов
Завершение IntelliSense для неимпортируемых типов
  • Включение и отключение однострочного комментария теперь можно выполнять с помощью клавиш CTRL+K,/. Эта команда будет добавлять или удалять однострочный комментарий в зависимости от того, применен ли он к выделенному фрагменту кода.
  • Можно экспортировать стили именования с помощью кнопки "Создать editorconfig" в разделе Сервис >>Параметры >>Текстовый редактор > C# > Стиль кода.
  • Можно использовать новое правило стиля кода editorconfig, чтобы потребовать или запретить использование директив using в пространстве имен. Этот параметр экспортируется с помощью кнопки "Создать editorconfig" в разделе Сервис > Параметры > Текстовый редактор > C# > Стиль кода.
Правило Editorconfig для использования внешних и внутренних пространств имен
Правило Editorconfig для директивы using в пространстве имен и за его пределами
Параметры инструментов для использования внутри или за пределами пространства имен
Параметры "Сервис" > "Параметры" для директив using в пространстве имен и за его пределами
  • Столбец Kind (Тип) средства "Поиск всех ссылок" теперь включает дополнительные параметры фильтрации и учитывает пространства имен и типы.
В столбце
Добавлены новые параметры фильтрации в столбец Kind средства "Поиск всех ссылок"
  • Добавлено исправление кода для разбиения и объединения операторов If.
Разделение или слияние операторов if
Разбиение и объединение операторов If
  • Добавлено исправление кода для переноса двоичных выражений.
Перенос двоичных выражений
Перенос двоичных выражений
  • К списку завершения регулярных выражений теперь можно перейти через меню Intellisense (CTRL + ПРОБЕЛ), находясь внутри строки регулярного выражения. Варианты завершения также включены во встроенное описание функций предложения.
Завершение регулярных выражений, предлагаемое в Intellisense с помощью клавиш CTRL+ПРОБЕЛ
Завершение регулярных выражений
  • Добавлено исправление кода для распечатывания класса.
Отменить кодефикс класса
Распечатывание класса
  • Можно одним действием очищать код в документах, проектах и решениях. Правой кнопкой мыши щелкните проект или решение в обозревателе решений и выберите команду "Запустить очистку кода".
Щелкните правой кнопкой мыши, чтобы выполнить очистку кода во всем решении
Очистка кода во всем решении запускается щелчком правой кнопки мыши
При применении очистки к каждому файлу появится диалоговое окно
Откроется диалоговое окно и будет выполнена очистка каждого файла
  • Можно использовать диалоговое окно рефакторинга для перемещения типа в пространство имен или папку. Поместите курсор на имя класса и введите (CTRL+.), чтобы открыть меню быстрых действий и рефакторинга, и выберите "Переместить в пространство имен". Откроется диалоговое окно, где можно выбрать целевое пространство имен, в которое нужно переместить тип.
Поместите курсор в имя класса и введите (CTRL+.) для просмотра рефакторингов
Поместите курсор на имя класса и нажмите клавиши CTRL+., чтобы просмотреть операции рефакторинга
Выбор целевого пространства имен
Выбор целевого пространства имен
  • Закомментировать или раскомментировать блок теперь можно с помощью сочетания клавиш CTRL+SHIFT+/ или с помощью команды Правка > Дополнительно > Закомментировать или раскомментировать блок. В зависимости от выбранного варианта эта команда добавит или удалит комментарии для блока.
Переключение примечания блока с помощью клавиш CTRL+SHIFT+/)
Комментирование или раскомментирование блока с помощью сочетания CTRL+SHIFT+/
  • Доступно исправление, позволяющее делать поля структуры для чтения доступными для записи. Поместите курсор на имя структуры и введите (CTRL+.), чтобы открыть меню быстрых действий и рефакторинга, и выберите "Сделать поля только для чтения доступными для записи".
  • Исправление для добавления частного поля в конструктор и наоборот стало проще для поиска. Оно будет отображаться при выборе любой части имени поля. Также этот рефакторинг предлагает все возможные конструкторы.

Предварительная версия Конструктора XAML для разработки .NET Core 3.0 WPF

  • Выпущена предварительная версия Конструктора XAML для разработчиков, которые создают приложения .NET Core 3.0 WPF в Visual Studio. Сейчас многие возможности разработки недоступны. Это ранняя предварительная версия, и мы просим вас сообщать о любых проблемах, например сбоях, через форму отзыва о Visual Studio, чтобы разработчики смогли оперативно улучшать взаимодействие.
  • При каждом обновлении Visual Studio 2019 мы будем добавлять возможности, которые ранее были доступны в Конструкторе XAML для приложений .NET Framework WPF.

Средства пакета SDK для .NET

Для этого выпуска была проделана большая работа, чтобы реализовать возможность использования WPF в .NET Core.

  • Устранена проблема, из-за которой диалоговое окно с сообщением об ошибке появлялось при каждом добавлении нового элемента в проект .NET Core WinForms или WPF (#4486).
  • Добавлена поддержка файлов XAML в проектах пакета SDK для .NET (#1467), в том числе многие небольшие элементы для достижения соответствия интерфейса с проектами .NET старого стиля.
  • Поддержка элементов контекстного меню для WinForms на платформе .NET Core (#137): "Windows Form", "Пользовательский элемент управления", "Компонент" и "Класс".
  • Поддержка элементов контекстного меню для WPF на платформе .NET Core (#137): "Окно", "Страница", "Пользовательский элемент управления", "Словарь ресурсов".
  • Окно "Источники данных" теперь включено для проектов .NET SDK, позволяя использовать распространенные сценарии управления данными для WinForms (#4479).

Отдельно в этом выпуске добавлено много других исправлений.

  • Проекты пакета SDK для .NET теперь поддерживают файлы .razor (#4468).
  • На странице свойств отладки добавлен доступный текст справки, который воспроизводится средствами чтения с экрана (#4568).
  • Мы добавили параметр, который позволяет отключить открытие файла проекта двойным щелчком (#4493).
  • Действие в контекстном меню, которое запускает редактирование файла проекта, теперь не отображает имя проекта. Это устраняет проблему со слишком широким контекстным меню при очень длинных именах проектов (#1492).
  • Устранена ошибка, из-за которой создание источника данных с помощью пользовательского интерфейса привязки данных создавало два файла .datasource (#4485).
  • Устранена ошибка, из-за которой связанные файлы могли вызывать сбой проверки актуальности (#4580).
  • Исправлено несколько ошибок, в том числе с разрешением пакетов и отображением состояния разрешения в узле зависимостей (#2924,#4577).

Полный список закрытых проблем можно увидеть на странице вехи 16.1 на GitHub.

Xamarin

  • Пользовательский интерфейс Android по умолчанию обновлен до API 28 для шаблонов, создания устройств, установщиков и многого другого.
  • Теперь при написании XAML Xamarin.Forms IntelliSense для Windows отображает рекомендации для атрибутов, используемых во время разработки.

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

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

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


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

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


Блоги

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


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

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


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