Заметки о выпуске Visual Studio 2017 версии 15.6
Сообщество разработчиков | Требования к системе | Совместимость | Распространяемый код | Условия лицензии | Блоги | Известные проблемы
Примечание.
Этот выпуск — не последняя версия Visual Studio. Чтобы скачать последний выпуск, посетите сайт Visual Studio .
Поддержка диапазона времени
Эта версия теперь не поддерживается. Дополнительные сведения о поддержке Visual Studio см. в политике поддержки Visual Studio 2017.
Ознакомьтесь с последней версией заметок о выпуске или посетите сайт Visual Studio, чтобы скачать последнюю поддерживаемую версию Visual Studio 2017.
Выпуски Visual Studio 2017 версии 15.6
- 26 апреля 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.7
- 10 апреля 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.6
- 4 апреля 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.5
- 22 марта 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.4
- 19 марта 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.3
- 13 марта 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.2
- 8 марта 2018 г. — служебное обновление Visual Studio 2017 версии 15.6.1
- 5 марта 2018 г. — незначительное обновление Visual Studio 2017 версии 15.6.0
Сводка по новым возможностям в версии 15.6
- Исправлена проблема безопасности PDB-файлов, описанная в документе CVE-2018-1037.
- Мы улучшили производительность загрузки решения, оптимизировав сборку времени разработки.
- Мы добавили сведения о ходе установки в Visual Studio Installer.
- Теперь можно приостановить установку и продолжить ее позже.
- Мы оптимизировали процесс обновления, чтобы переходить из уведомлений непосредственно в установщик.
- Создавать макет VS теперь могут даже пользователи без прав администратора.
- Мы добавили новый ярлык для Edit.Duplicate в раскладку клавиатуры.
- Мы внесли значительные улучшения в язык и инструменты F#, в частности для проектов с пакетом SDK для .NET Core.
- Дополнительная оптимизация компилятора C++ позволяет быстрее выполнять код.
- В сценариях полного связывания уменьшились издержки на создание файла сопоставления C++.
- Для поддержки встроенного ARM GCC теперь доступны параметры отладки.
- Мы добавили в CoreCLR подпись строгого имени для компилятора C#.
- В Visual Studio Tools для Xamarin есть множество новых обновлений производительности для разработчиков iOS и Android.
- Python больше не требует базы данных завершения, а пользователям Anaconda предоставлена поддержка Conda.
- В инструменте учета использования ЦП профилировщика производительности можно отображать стеки логических вызовов для асинхронного кода.
- В инструменте Использование ЦП отображается выделение исходной строки и код async/await с логическим вызовом "Совмещение стека вызовов".
- Отладчик поддерживает имена потоков, заданные с помощью API SetThreadDescription в отладке дампа.
- Отладку моментальных снимков можно запустить из раскрывающегося списка "Целевой объект отладки" для приложений ASP.NET.
- Мы запустили первоначальную реализацию команды Перейти к декомпилированным источникам для навигации по коду .NET.
- Теперь, чтобы настроить автоматизированную сборку и развертывание для вашего приложения, можно щелкнуть плитку Непрерывная поставка в Team Explorer.
- Новые усовершенствования параметра Настройка непрерывной поставки включают поддержку TFVC, проверку подлинности Git по SSH и контейнерные проекты.
- Team Explorer поддерживает теги Git и извлечение ветвей запросов на вытягивание.
- Доступен инструментарий Service Fabric для выпуска Service Fabric 6.1.
- Пакет SDK для Windows 10 Insider Preview можно установить в качестве дополнительного компонента.
- Версии файлов для некоторых исполняемых файлов Visual Studio теперь отражают дополнительные номера версий.
- Обозреватель тестов имеет представление иерархии, а обнаружение тестов в режиме реального времени теперь по умолчанию включено.
- Добавлена поддержка тестирования приложений Windows 10 IoT Базовая.
- Visual Studio Build Tools поддерживает TypeScript и Node.js.
- Средства ClickOnce поддерживают подписывание манифестов приложения и развертывания с помощью сертификата CNG.
- Для доступа к ресурсам Azure, таким как хранилище ключей, можно использовать учетные записи Visual Studio.
Основные проблемы, исправленные в версии 15.6
В версии 15.6 исправлены следующие проблемы, о которых сообщили клиенты:
- Изменение размера окон функционирует ненадежно.
- Проекты .NET Core, содержащие специальные символы, не восстанавливают пакеты NuGet и не выполняют сборку.
- Архитектура обозревателя тестов по умолчанию не запоминается.
- Обозреватель решений не остается закрепленным после закрытия Visual Studio.
- Стандартный пользовательский Интерфейс перестает работать во время сеанса отладки.
- При повторном открытии проекта имена файлов снова отображаются в нижнем регистре.
- Курсор мыши залипает на значке "Указатель" (рука).
- VSIXAutoUpdate выполняет аварийное завершение работы во время запланированной задачи.
- При запуске возникает предупреждение "Мы обнаружили, что окно инструмента "Список ошибок" замедляет работу Visual Studio".
- После переключения на весь экран в быстром запуске более не отображаются результаты.
- Конструктор действий XAML создает исключение OutOfMemoryException из-за сбоя разрешения ссылок на сборки.
- При использовании Selenium WebDriver не удается остановить/отменить отладку модульных тестов.
- При использовании коммутатора /quiet vsixinstaller.exe не завершает работу в конце установки.
Просмотрите все проблемы, о которых сообщили клиенты и которые были исправлены в Visual Studio 2017 версии 15.6.
Подробные сведения о новых возможностях в версии 15.6
Visual Studio 2017 версии 15.6.0
Выпущена 5 марта 2018 г.
Новые возможности в версии 15.6
Производительность
В выпуске 15.6 мы продолжаем повышать производительность загрузки решения специально для сценариев, предполагающих кэширование результатов сборки времени разработки. Большие решения C# и Visual Basic загружаются в два раза быстрее, чем раньше, если решение уже было открыто на компьютере.
Загрузка решения .NET Core
Мы сконцентрировались на решениях .NET Core, и, согласно измерениям нашей лаборатории, клиенты могут в среднем рассчитывать на ускорение времени загрузки решения на 20 %.
Уведомления о скорости реагирования пользовательского интерфейса
Чтобы обеспечить дополнительную прозрачность информации о том, как расширения влияют на производительность и надежность, Visual Studio выполняет анализ в режиме реального времени, чтобы определить, может ли расширение стать причиной отсутствия реагирования со стороны пользовательского интерфейса. Если определено, что расширение вызвало зависание, Visual Studio отобразит уведомление, откуда пользователь сможет отключить расширение или удалить последующие уведомления об этом расширении (рис. 1).
Установка и настройка
- В этом выпуске пользователи без прав администратора смогут создать макет Visual Studio, что позволит обычным пользователям создавать автономную сетевую установку.
- При установке Visual Studio в первый раз или обновлении среды в Интернете отобразится новый, более прозрачный рабочий интерфейс установщика Visual Studio. Внутри программы ничего не изменилось, но новый интерфейс пошагово показывает вам все, что происходит (рис. 2).
Сведения об установке
Новые сведения об установке (рис. 5) содержат такую информацию, как размер загрузки, процент выполненной загрузки и скорость загрузки. Кроме того, отображается общее количество устанавливаемых пакетов и количество оставшихся пакетов.
Примечание.
Если приостановить, а затем возобновить установку, отображается ход выполнения оставшейся части загрузки и установки, а предыдущий отсчет не продолжается.
Настройка среды IDE
Мы оптимизировали процесс обновления: уведомление об обновлении в Visual Studio позволяет перейти непосредственно к установщику, а не в раздел "Расширения и обновления".
Рабочие нагрузки "ASP.NET и веб-разработка" и "Разработка для нескольких платформ .NET Core" были обновлены и теперь включают раздел "Облачные средства веб-разработки". Этот компонент содержит все необходимое, чтобы использовать функции Azure из Visual Studio.
Примечание.
После обновления с предварительной версии 3 выпуска 15.6 до предварительной версии 4 или более поздней компьютер может перезагружаться автоматически без уведомления или подтверждения пользователем.
Усовершенствования редактора
- В раскладку клавиатуры по умолчанию добавлено сочетание клавиш Ctrl + D для быстрого доступа к Edit.Duplicate. Предыдущее сочетание клавиш (Ctrl + E, V) по-прежнему работает и доступно во всех схемах раскладки клавиатуры.
- Мы добавили команду "Развернуть выделение", с помощью которой можно последовательно разворачивать выделение на следующий логический блок. Сочетания клавиш Shift + Alt + = можно использовать для расширения, а Shift + Alt + - — для уменьшения текущего выделения.
Усовершенствования языка и инструментов F#
В этом выпуске реализовано множество усовершенствований языка F# и сопутствующих инструментов. Наиболее значимые связаны с проектами SDK .NET Core. Как всегда, здесь значительную роль сыграло сообщество разработчиков.
Усовершенствования компилятора F# и основной библиотеки
- Исправления ошибок и повышение производительности — ncave, Василий Кириченко и Майкрософт.
- Коллекции F# теперь реализуют
IReadonlyList
иIReadonlyDictionary
— Сол Реннисон. - Добавлена поддержка
NativePtr.ByRef
— mjmckp. - Добавлена поддержка
Async.StartImmediateAsTask
— Онур Гюмюш. Seq.transpose
,Array.transpose
поддержка, добавленная Патриком Макдональдом.List.transpose
- Устранены проблемы, связанные с отсутствием поддержки
.Item1
/.Item2
регрессией в типахSystem.Tuple
, определенных в коде F#. Так как эти типы кортежа теперь полностью синонимичны синтаксису кортежа F#, при использовании этих свойств отображается предупреждение. См. подробные сведения в соответствующих запросах на вытягивание. - Густаво Леон и Майкрософт устранили проблему регрессии и еще одну ошибку в порядке вывода статически разрешенных параметров типа.
- Включено свойство
IsSerializable
для типов F# в FSharp.Core для .NET Standard. Типы F#, такие какOption
иAsync
, теперь сериализуются для .NET Standard и .NET Core. - Пакет FSharp.Core обновлен до версии 4.3.4 и включает все изменения в FSharp.Core для этого выпуска.
Усовершенствования инструментов F#
- Внедрено упорядочивание файлов для проектов на базе SDK .NET Core, включая команды "Добавить выше/ниже", поддержку папок и обновление пользовательского интерфейса Visual Studio без необходимости перезагружать проект.
- Реализована поддержка нескольких целевых объектов в проектах на базе SDK .NET Core.
- Теперь в проектах на базе SDK .NET Core поддерживаются общие файлы.
- На проекты .NET Standard теперь можно ссылаться из проектов F#/.NET Framework.
- Усовершенствования в системе сообщения об ошибках — Василий Кириченко и Евгений Аудучинок.
- Повышение производительности — Василий Кириченко, Евгений Аудучинок, Дэниэл Веделих и Майкрософт.
- Более точное автозаполнение и устранение множества ошибок — Василий Кириченко и Майкрософт.
- Статические элементы в неоткрытых пространствах имен доступны в завершенном виде — Василий Кириченко.
- Символы пространств имен отображаются в разделах "Обзор документа" и "Найти все ссылки" — Василий Кириченко.
- Код структурированных руководств теперь доступен в других редакторах (VSCode, VS для Mac, Rider) — Эжен Одучинок.
- Более удобное свертывание и усовершенствованные структурированные руководства для конструкторов F# — Эжен Одучинок.
- Открытые инструкции больше не упрощаются в анализаторе упрощения имен — Василий Кириченко.
- Теперь поддерживается отображение полей IL
sbyte
иbyte
в разделе "Краткие сведения" — Василий Кириченко. - Исправление кода неиспользованного объявления больше не запускается для невызванных функций или методов F# — Василий Кириченко.
- Поддерживается перетаскивание между папками в проектах .NET Framework — Паоло Нобре.
- Теперь можно переключаться между анализатором неиспользованных объявлений и исправлением кода.
- Исправление ошибок и повышение производительности — Евгений Аудучинок и Майкрософт.
- Код, окруженный определениями
#if INTERACTIVE
, теперь поддерживает функции среды IDE, которые не требуют проверки типа — Евгений Аудучинок. - Устранена случайная отмена исправления для пустого окна "Создать файл" в более старых проектах F#/ASP.NET (.NET Framework) — Лоик Денузьере.
Усовершенствования инфраструктуры и открытого кода F#
- Реализован RFC обновления для системы управления версиями.
- Все файлы локализации, используемые в компиляторе и инструментах, теперь доступны в GitHub, участники сообщества могут их изменять.
- Выполняемые каждую ночь сборки теперь занимают около часа (по сравнению с более чем 4 ч ранее).
- Устранена зависимость участников сообщества, поставляющих открытый исходный код, от SDK Windows 10.
- Вспомогательные сборки и
FSharp.Core.resources.dll
теперь входят в состав SDK компилятора F#. - Компилятор больше не перестраивается в базе кода Visual F#, если сведения о сборке не менялись.
- Внедрен
ToString()
дляFSharpSymbolUse
, чтобы было проще анализировать результаты использования всех символов при отладке инструментария редактора — Евгений Аудучинок.
Журнал изменений полной фиксации для выпуска 15.6 доступен по нашему тегу.
Примечание.
Узнайте обо всех известных проблемах и доступных решениях в Visual Studio 2017 версии 15.6.
Усовершенствования Visual C++
- В этом выпуске исправлена проблема безопасности PDB-файлов, описанная в документе CVE-2018-1037.
- Создание проектов CMake в диалоговом окне "Добавить новый проект".
- Теперь можно выбрать, следует ли автоматически создавать кэш CMake при открытии новых проектов CMake в Visual Studio.
- Тесты CTest, Google Test и Boost.Test в проектах CMake обнаруживаются и отображаются в Test Explorer автоматически.
- Теперь можно легко добавлять в свои проекты модульные тесты Boost с помощью шаблонов элементов Boost.Test. Модульные тесты Boost теперь используют динамическую библиотеку Boost.
- Поддержка гарантированного пропуска копирования C ++ 17.
- Встроенная поддержка Android NDK r15c для разработки приложений Android.
- Поддержка средств Visual Studio Android для приложений Android, созданных с помощью пакета SDK уровня 25 и ниже, для развертывания и запуска на устройствах Oreo.
- Продолжается работа над реализацией стандартной библиотеки C++17, включая API, такие как stable_sort, partition, встроенный параллельно vector::emplace_back и <memory_resource> в соответствии со стандартами C++17.
- Отсутствующие файлы include автоматически обнаруживаются для команды C++ "Открыть папку", если они существуют в корневом каталоге рабочего пространства, даже если они не добавляются в путь include явным образом.
- Доступны параметры отладки для поддержки встроенного ARM GCC. Щелкните правой кнопкой мыши двоичный файл, выберите "Параметры отладки и запуска", а затем выберите микроконтроллер "Отладка C/C++".
- Профильная оптимизация включена и полностью поддерживается в ARM64.
- Добавлены правила для расширения C++ Core Guidelines Check, которое поможет сделать код чище, более безопасным и понятным.
- Расширение C++ Core Checker позволяет обнаруживать использование косвенных обращений со временем существования вне диапазона.
- Доступно пять новых проверок, обеспечивающих выполнение правил переполнения целых чисел, а также дополнительные правила из C++ Core Guidelines.
- Расширение C++ Core Check теперь включает набор правил анализа кода для обнаружения арифметических переполнений.
- Поддержка анализа кода для одного файла (или выбранных вами в обозревателе решений файлов); очищены меню "Сборка" и "Анализ". Команда "Запустить анализ кода" больше не выполняет создание кода, что ускоряет анализ.
- Ошибки IntelliSense для неактивных конфигураций отображаются в редакторе фиолетовой волнистой линией. Число конфигураций для обработки можно настроить в разделе Инструменты > Параметры.
- Значительные улучшения во время компиляции:
- Время выполнения кода оптимизировано компилятором благодаря усовершенствованным оптимизациям предварительно приращенных циклов, усовершенствованным идентификации и распространению константных глобальных данных в LTCG.
- Время компиляции по сравнению с выпуском 15.5 уменьшилось. Клиентские компоненты компилятора работают на 3–5 % быстрее с большинством вводных данных. Оптимизатор компилятора работает на 3 % быстрее из-за сниженной рабочей нагрузки базовых алгоритмов оптимизации. Кроме того, крупные компиляции LTCG выполняются на 10 % быстрее благодаря измененной архитектуре структур данных.
- В сценариях полного связывания уменьшились издержки на создание файла сопоставления. По-прежнему рекомендуется использовать вместо файлов сопоставления файлы PDB.
- Компилятор MSVC поддерживает параметр /Qspectre на всех архитектурах, включая x86, x64, ARM и ARM64.
Компилятор C#
Компилятор C# теперь поддерживает следующее:
- Сервер компилятора в CoreCLR (для показателей пропускной способности сборки).
- Подписывание с использованием строгих имен в CoreCLR (параметр
/keyfile
, все операционные системы).
Помимо многочисленных исправлений ошибок и одного критического изменения (см. обновляемый список критических изменений), в языковые возможности версии 7.2 внесено два незначительных языковых изменения:
- Механизм устранения конкуренции при перегрузках
in
(см. подробнее об этом в GitHub). - Более свободное упорядочивание
ref
иthis
в эталонных методах расширения (см. подробнее об этом в GitHub).
Инструменты Visual Studio для Xamarin
Этот выпуск включает Xamarin.iOS 11.8 и Xamarin.Android 8.2.
Динамический предварительный просмотр XAML с использованием симулятора iOS
Благодаря Xamarin Live Player разработчики могут непрерывно развертывать, тестировать и отлаживать свои приложения исключительно с использованием Visual Studio и устройства iOS или Android. В Visual Studio 2017 версии 15.5 добавлена поддержка функции, позволяющей разработчикам просматривать изменения XAML в режиме реального времени непосредственно в эмуляторе Android, не перекомпилируя код и не развертывая его повторно. В этом выпуске данная функция стала доступна для удаленного симулятора iOS для Windows.
Python
В этом выпуске мы устранили необходимость в использовании базы данных завершения для получения IntelliSense в установленных пакетах (рис. 6). Это означает, что, вместо того чтобы ждать до четырех часов после установки пакета, выполнения популярных пакетов, таких как numpy
и pandas
, теперь будут готовы за несколько секунд.
Добавлена возможность пользовательской настройки цвета, используемого для строк документации, если они используются в классе или функции, а также для шаблонов регулярных выражений, обнаруживаемых в составе вызова библиотеки re
(рис. 7). Эти параметры можно изменить в разделе Инструменты > Шрифты > Цвета, "Документация Python" и "Регулярное выражение Python".
Наконец, мы экспериментируем с обнаружением и интеграцией conda для пользователей Anaconda. Если эта функция включена, среды conda будут отображаться в Visual Studio автоматически, а для управления пакетов вместо pip будет использоваться conda. См. дополнительные сведения в блоге Новые возможности Python в Visual Studio 15.6.
Отладка и диагностика
Инструмент "Загрузка ЦП"
Инструмент "Загрузка ЦП" отображает логические стеки вызовов для асинхронного кода (так называемое "Совмещение асинхронных стеков вызовов") (рис. 8).
Чтобы просмотреть логические стеки вызовов (то есть "совмещенные стеки вызовов"), включите параметр "Совмещение асинхронного кода" во всплывающем меню "Фильтр" инструмента "Загрузка ЦП".
Асинхронный код, выполняемый от имени родительской функции или задачи, будет отображаться в представлениях "Дерево вызовов" и "Вызывающий/вызываемый" в качестве дочернего элемента.
Это изменение упрощает навигацию по асинхронному коду и анализ его характеристик производительности.
Примечание.
Этой функции может потребоваться много времени для создания стеков логических вызовов для некоторых шаблонов асинхронного кода. При необходимости можно изменить анализ и выключить эту настройку. Это поведение доступно только во время последующего профилирования стиля с использованием страницы запуска "Профилировщик производительности ALT-F2". Если инструмент "Загрузка ЦП" используется во время отладки, стеки логических вызовов не отображаются.
Инструмент "Загрузка ЦП" (доступен во время отладки по нажатию клавиши F5 в окне "Средства диагностики" и в профилировщике производительности ALT-F2) теперь выделяет строку исходного кода с учетом потребления ЦП определенных строк кода (рис. 9).
В представлениях "Дерево вызовов" или "Вызывающий/вызываемый" в инструменте "Загрузка ЦП" вы увидите потребление ресурсов ЦП напротив каждой строки исходного кода выбранной функции.
Если вам важна производительность ЦП при выполнении функции, теперь вы можете точно определить, какие строки ее исходного кода вызывают высокое потребление ресурсов.
Примечание.
Чтобы использовать эту функцию, необходимо включить информацию об исходном коде в создаваемый файл PDB, регулируемый параметрами проекта. В проектах для PDB-файлов, которые не содержат информацию об исходном коде, не будет отображаться ни отнесение строк, ни исходный файл.
Поддержка имени потока
В ответ на пользовательские отзывы была реализована следующая функция: отладчик теперь может отображать имена потоков, которые заданы с помощью API SetThreadDescription в отладке дампа. Эта функция требует сбора дампов в Windows 10 Fall Creators Update и более поздних сборках.
Snapshot Debugger
Если вы работаете в приложении ASP.NET, выполняемом в службе приложений Azure, и хотите опробовать Snappoints или Logpoints, это можно сделать, выбрав "Отладчик моментальных снимков (служба приложений Azure)" в раскрывающемся списке "Целевой объект отладки" (рис. 10).
Производительность .NET
В предварительной версии 2 выпуска 15.6 мы добавили возможность осуществлять навигацию по декомпилированным источникам. Если эта функция включена, вызов команды Перейти к определению или Показать определение для любого типа или элемента, на который имеется ссылка, покажет соответствующее определение с реконструированными в ходе декомпиляции ILSpy основными частями метода. Чтобы включить эту функцию, перейдите в > текстовый редактор параметров > инструментов > C# > Advanced > Enable navigation to decompiled sources (рис. 11).
Мы добавили еще пару параметров .NET EditorConfig:
- dotnet_prefer_inferred_tuple_names
- dotnet_prefer_inferred_anonymous_type_member_names
Примечание.
Просмотреть все параметры соглашений о написании кода .NET можно в разделе Параметры соглашений о написании кода .NET для EditorConfig.
Веб-инструменты Visual Studio
- В обозревателе решений доступна новая возможность для проектов .NET Core, которая называется "вложением файлов" и позволяет пользователям контролировать отображение связанных файлов в обозревателе решений.
- Обновлена процедура публикации проектов.
- В диалоговом окне "Новый проект":
- раскрывающийся список, позволяющий выбрать версию платформы .NET Framework, был перемещен в нижнюю часть диалогового окна, он больше не выполняет функции фильтра для шаблона;
- подузел "Веб-сайт" узла "Сайт" переименован в "Предыдущие версии".
- Раскрывающийся список отладки для проектов WebForms и MVC 5:
- позволяет пользователю выбрать отладчик моментальных снимков для развернутых приложений службы приложений Azure;
- был обновлен, и теперь в нем используются те же жесты выбора в браузере, что и в проектах ASP.NET Core.
Средства непрерывной поставки
Для настройки автоматической сборки и развертывания приложений в решениях, требующих управления исходным кодом, можно щелкнуть плитку "Непрерывная поставка" в Team Explorer.
Настройка средств непрерывной поставки
- Добавлена поддержка TFVC в качестве поставщика системы управления версиями. Настроить непрерывную поставку для решений, требующих управления исходным кодом, можно в командном проекте VSTS TFVC (рис. 12).
Добавлена поддержка проверки подлинности Git через SSH. Настроить непрерывную поставку для решений, требующих управления исходным кодом, можно в VSTS или репозитории Git сервиса GitHub с включенной проверкой подлинности через SSH.
Появилась поддержка контейнерных проектов. Можно настроить непрерывную поставку для решений с поддержкой проектов ASP.NET Core и docker, предназначенных для сервиса приложений Azure в Linux (веб-приложение для контейнеров) (рис. 13). По умолчанию в диалоговом окне "Настроить непрерывную поставку" можно будет создать новый сервис приложений Azure в Linux (веб-приложение для контейнеров) и реестр контейнеров Azure, если он еще не был создан в рамках вашей подписки.
Team Explorer
Поддержка тегов Git
Мы расширили поддержку тегов Git. Теперь теги можно создавать, удалять и принудительно отправлять. На странице "Теги" можно просмотреть все теги своего репозитория и создать из тега новую ветвь. О появлении этой функции чаще всего просили пользователи UserVoice.
Пользователи Visual Studio Team Services теперь могут извлекать ветви запросов на вытягивание. Эта функция упрощает просмотр запросов на вытягивание, тестирование изменений и создание кода.
Средства для разработчиков универсальная платформа Windows
SDK Windows 10 Insider Preview (сборка 17095) можно установить в качестве дополнительного компонента с рабочей нагрузкой по разработке универсальной платформы Windows.
Расширяемость
Версии файлов для нескольких исполняемых файлов Visual Studio — devenv.exe, blend.exe, wdexpress.exe и vsga.exe — отражают дополнительный номер версии (например, 15.6.*).
Примечание.
Это не влияет ни на какие функциональные возможности, однако может потребоваться обновить внешний код, в котором используются номера версии исполняемого файла.
Обозреватель тестов
Новое иерархическое представление
Test Explorer в Visual Studio теперь имеет иерархическое представление (рис. 14), в котором тесты упорядочены по проекту, пространству имен и классу. Это представление можно включать и выключать с помощью кнопки иерархии, расположенной вверху окна Test Explorer рядом с кнопкой "Группировать по".
Этот компонент не только существенно упрощает навигацию по тестам, но и дает более полное представление о тестах в целом.
- "Родительские узлы" в иерархии (Проект, Пространство имен и Класс) обозначены значком непройденного теста, если они содержат хотя бы один элемент, который не прошел тест.
- Кроме того, число напротив родительских узлов указывает на количество тестов в группе. Справа от родительского узла показана длительность в миллисекундах — общее время выполнения тестов в этой группе.
Обнаружение тестов в режиме реального времени
Функция обнаружения тестов в режиме реального времени позволяет автоматически обнаруживать тесты (рис. 15), не создавая управляемый проект. Это позволяет Test Explorer синхронизироваться с изменениями в коде, включая добавление, удаление и редактирование тестов. Обратите внимание, что, в отличие от доступной для всех типов проектов функции иерархического представления, описанной выше, автоматическое обнаружение тестов доступно только для проектов C# и Visual Basic.
Поддержка тестирования Win10 IoT Core
Добавлена поддержка тестирования приложений Win10 IoT Базовая. Тесты для таких приложений универсальной платформы Windows можно развертывать, отлаживать и выполнять на устройстве. Эти тесты также полностью интегрируются в Test Explorer. Также доступна поддержка развертывания и выполнения через непрерывную интеграцию VSTS. Следовательно, приложения Win10 IoT Базовая имеют полную поддержку в цикле редактирования, компиляции, отладки и тестирования в Visual Studio, а также в рабочем процессе непрерывной интеграции в Visual Studio Team Services.
Visual Studio Build Tools
Средства Visual Studio Build Tools позволяют создавать серверы сборки, не устанавливая Visual Studio полностью. Установщик уже поддерживает проекты C++, ASP.NET и .NET Core для настольных систем. В ответ на запросы клиентов мы расширяем число поддерживаемых в Visual Studio Build Tools типов проектов. В этом выпуске добавлена поддержка проектов TypeScript и Node.js. В будущих выпусках мы планируем добавить поддержку еще нескольких типов проектов. Это расположение загрузки средств Visual Studio Build Tools для этого выпуска.
Инструменты Visual Studio ClickOnce
ClickOnce — это технология развертывания, позволяющая создавать приложения Windows с возможностью самообновления, которые могут устанавливаться и запускаться с минимальным вмешательством пользователя. ClickOnce использует сертификаты для проверки подлинности издателя приложения, подписи приложения и манифестов развертывания, чтобы удостовериться в том, что файлы не были изменены злоумышленником. В этом выпуске добавлена поддержка подписывания манифестов приложений и развертывания с использованием сертификата CNG.
Key Vault
Расширение для проверки подлинности служб Azure теперь доступно в стандартной комплектации Visual Studio 15.6. Это позволит осуществлять доступ к ресурсам Azure, таким как хранилище ключей, из проектов, использующих Microsoft.Azure.Services.AppAuthentication, с помощью своих учетных данных Visual Studio.
Автоматическая подготовка macOS
Создание приложений iOS с Visual Studio в Windows стало еще проще. В этом выпуске добавлена абсолютно новая функция — автоматическая подготовка macOS. Вместо того чтобы обслуживать компьютер сборки Mac вручную, теперь вам потребуется только подключиться к Mac, а мы возьмем на себя установку и настройку вашего компьютера сборки с использованием подходящих битов Xamarin.iOS и Mono (и все это в Visual Studio).
Развертывание iOS по Wi-Fi
Удаленный симулятор iOS, который позволяет разработчикам тестировать и отлаживать приложения iOS полностью в Visual Studio в Windows, теперь доступен для всех выпусков Visual Studio (начиная с версии 15.5), включая бесплатный выпуск Community Edition! Этот симулятор поддерживает такие функции, как моделирование расположения, поворот, жесты, и даже включает такую функциональность, которая отсутствует в симуляторе iOS в Mac, например мультисенсорные функции. Все это обеспечивает отличные условия работы для разработчиков, создающих приложения iOS в Windows, но как насчет устройств? Visual Studio 2017 версии 15.6 позволяет развертывать приложения iOS в сети, используя функцию развертывания по Wi-Fi — забудьте о проводах! Беспроводное устройство после настройки в Xcode отображается в Visual Studio как обычный целевой объект развертывания.
Обновление обслуживания Visual Studio 2017 версии 15.6.1
Выпущено 8 марта 2018 г.
Основные проблемы, исправленные в версии 15.6.1
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
Обновление обслуживания Visual Studio 2017 версии 15.6.2
Выпущено 13 марта 2018 г.
Общие сведения об обновлениях в версии 15.6.2
CVE-2018-0875: Рекомендации по безопасности Майкрософт для .NET Core
Майкрософт известно об уязвимости в общедоступных версиях .NET Core, когда вредоносный файл или веб-запрос могут вызвать атаку типа "отказ в обслуживании" (DoS).
Внимание
Системным администраторам рекомендуется обновить свои среды выполнения .NET Core до версий 1.0.10, 1.1.7 или 2.0.6. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 1.1.8 или 2.1.101.
Основные проблемы, исправленные в версии 15.6.2
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
- Теги
git
"Указанный аргумент находится за пределами диапазона допустимых значений. Имя параметра: count". - Не удается открыть сведения о фиксации Git.
- Установщик VS2017 аварийно завершает работу при выборе Изменить в ходе установки WPF-шаблонов SyncFusion.
- Обозреватель тестов теряет положение при запуске тестов.
- Иерархия тестов в обозревателе тестов постоянно перемещается вверх.
- Редактор XAML постоянно аварийно завершает работу при внесении изменений в XAML-файл.
- Обозреватель тестов постоянно прокручивает экран вверх при запуске нового теста.
- При просмотре журнала Git появляется сообщение: "Указанный аргумент находился вне диапазона значений".
- ALT+СТРЕЛКА ВВЕРХ/СТРЕЛКА ВНИЗ не перемещает файл в проектах .NET Framework.
- VS 15.6 зависает при загрузке решения для проекта с пакетом SDK для .NET Core, когда к списку файлов добавляется инструкция "None Include".
- 15.6 предварительной версии 6 обнаруживает адаптер теста, но не запускает тесты.
Обновление обслуживания Visual Studio 2017 версии 15.6.3
Выпущено 19 марта 2018 г.
Общие сведения об обновлениях в версии 15.6.3
CVE-2018-0875: Рекомендации по безопасности Майкрософт для .NET Core
Майкрософт известно об уязвимости в общедоступных версиях .NET Core, когда вредоносный файл или веб-запрос могут вызвать атаку типа "отказ в обслуживании" (DoS).
Внимание
Системным администраторам рекомендуется обновить свои среды выполнения .NET Core до версий 1.0.10, 1.1.7 или 2.0.6. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 1.1.8 или 2.1.101.
Основные проблемы, исправленные в версии 15.6.3
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
- Теги
git
"Указанный аргумент находится за пределами диапазона допустимых значений. Имя параметра: count". - Не удается открыть сведения о фиксации Git.
- Установщик VS2017 аварийно завершает работу при выборе Изменить в ходе установки WPF-шаблонов SyncFusion.
- Обозреватель тестов теряет положение при запуске тестов.
- Иерархия тестов в обозревателе тестов постоянно перемещается вверх.
- Редактор XAML постоянно аварийно завершает работу при внесении изменений в XAML-файл.
- Обозреватель тестов постоянно прокручивает экран вверх при запуске нового теста.
- При просмотре журнала Git появляется сообщение: "Указанный аргумент находился вне диапазона значений".
- ALT+СТРЕЛКА ВВЕРХ/СТРЕЛКА ВНИЗ не перемещает файл в проектах .NET Framework.
- VS 15.6 зависает при загрузке решения для проекта с пакетом SDK для .NET Core, когда к списку файлов добавляется инструкция "None Include".
- 15.6 предварительной версии 6 обнаруживает адаптер теста, но не запускает тесты.
- Обозреватель тестов постоянно прокручивает экран вверх при запуске нового теста.
- Советы по безопасности Майкрософт для обновлений .NET Core.
Обновление обслуживания Visual Studio 2017 версии 15.6.4
Выпущено 22 марта 2018 г.
Основные проблемы, исправленные в версии 15.6.4
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
- Файл ресурсов "c:\xxxxxx\obj\project.assets.json" не имеет целевого объекта для ".NETStandard,Version=v2.0".
- VS2017 не сохраняет параметры при первом запуске, если запущен другой экземпляр VS от имени другого пользователя.
- STL "Статическая библиотека LLVM libc++" для Android не работает с VS15.6.0.
- Модульные тесты больше не сортируются по алфавиту.
- Тесты в обозревателе тестов, сгруппированные по классу или пространству имен, больше не сортируются по алфавиту в версии 15.6.2.
Обновление обслуживания Visual Studio 2017 версии 15.6.5
Выпущено 4 апреля 2018 г.
Основные проблемы, исправленные в версии 15.6.5
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
- Visual Studio 15.6 не поддерживает применение параметров сервера для всех пользователей (сохранение в файле проекта).
- Не удалось открыть проект, так как компилятор Visual C# 2017 не был создан.
- Диспетчер пакетов NuGet после очистки кэша вручную распознает только последние версии пакета.
- Сброшены настройки сервера IIS.
- Visual Studio зависает во время обновления пакета Nuget.
- При работе установщика возникает непредвиденная ошибка, и изменения в Solution2.sln не сохраняются.
C:\Windows\temp
заполняется файлами ITRACE после обновления до версии 15.5.6.vstest.console.exe
не удается выполнить тестовый запуск с исключением сокета.- Этот выпуск включает поддержку Xcode 9.3.
Обновление обслуживания Visual Studio 2017 версии 15.6.6
Выпущено 10 апреля 2018 г.
Общие сведения об обновлениях в версии 15.6.6
CVE-2018-1037: Рекомендации по безопасности Майкрософт для уязвимостей в раскрытии информации Microsoft Visual Studio
Существует уязвимость раскрытия информации, когда Visual Studio по ошибке сообщает об ограниченном содержимом неинициализированной памяти во время компиляции программных файлов базы данных (PDB). Злоумышленник, который воспользуется такой раскрытой информацией, сможет просматривать содержимое неинициализированной памяти из экземпляра Visual Studio, который используется для компиляции файла PDB.
Чтобы воспользоваться преимуществами этой уязвимости, злоумышленнику потребуется доступ к затронутому файлу PDB, созданному с помощью уязвимой версии Visual Studio. Злоумышленник не может заставить разработчика раскрыть эти данные.
Обновления системы безопасности устраняют эту уязвимость, исправляя способ создания файлов PDB при компиляции проекта.
Внимание
Дополнительные сведения см. в описании обновления системы безопасности для CVE-2018-1037.
Основные проблемы, исправленные в версии 15.6.6
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
- В этом выпуске устранена ошибка, из-за которой некоторым пользователям Application Insights не отображались индикаторы запросов и исключений CodeLens при первой загрузке решения.
Обновление обслуживания Visual Studio 2017 версии 15.6.7
Выпущено 26 апреля 2018 г.
Общие сведения об обновлениях в версии 15.6.7
- VS реагирует быстрее при выполнении операции Git.
- Отладка крупных решений с помощью PDB-файлов /debug:fastlink стала более надежной. Изменения в PDB/DIA-файле приводят к сокращению задержки и уменьшению потребления памяти кучи в отладчике VS на 30 %, чтобы избежать аварийного завершения.
Основные проблемы, исправленные в версии 15.6.7
Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.
- Ошибки компилятора C++:
- Исправление для оптимизатора SSA, который некорректно принимал вызов функции мимо хранилища в переменную, используемую в обработчике
__finally
. - Исправление для оптимизатора SSA, который иногда неправильно анализировал нагрузки памяти из расположений с отрицательными смещениями.
- Исправление для оптимизатора, который некорректно преобразовывал цикл до приращения в цикл после приращения. Ошибка возникала при компиляции проекта ICU.
- Исправление для оптимизатора SSA, который некорректно принимал вызов функции мимо хранилища в переменную, используемую в обработчике
- Мы выполнили обновление до пакета Java™ Development Kit 8, обновление 172 (версия JDK 8u172).
Известные проблемы
Мы серьезно относимся к вашим отзывам. Чтобы найти список последних проблем, сообщить о новых проблемах и проголосовать за решение существующих проблем, зайдите на сайт сообщества разработчиков.
Узнайте обо всех известных проблемах и доступных решениях в Visual Studio 2017 версии 15.6.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в правом верхнем углу установщика или самой IDE-среды Visual Studio. Значок находится в правом верхнем углу. Вы можете предлагать для продукта новые функции, задавать вопросы, находить ответы и отслеживать решение своих проблем в сообществе разработчиков Visual Studio. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.
Журнал заметок о выпусках Visual Studio 2017
Дополнительные сведения по предыдущим версиям Visual Studio 2017 см. на странице Журнал заметок о выпуске Visual Studio 2017.