Заметки о выпуске Visual Studio 2017 версии 15.7
Сообщество разработчиков | Требования к системе | Совместимость | Распространяемый код | Условия лицензии | Блоги | Известные проблемы
Примечание.
Этот выпуск — не последняя версия Visual Studio. Чтобы скачать последний выпуск, посетите сайт Visual Studio .
Поддержка диапазона времени
Эта версия теперь не поддерживается. Дополнительные сведения о поддержке Visual Studio см. в политике поддержки Visual Studio 2017.
Ознакомьтесь с последней версией заметок о выпуске или посетите сайт Visual Studio, чтобы скачать последнюю поддерживаемую версию Visual Studio 2017.
Блог Visual Studio
Блог Visual Studio является официальным источником сведений о продукте от группы разработчиков Visual Studio. Более подробные сведения о выпусках Visual Studio 15.7 можно найти в следующих записях.
- Предварительная версия 1 Visual Studio 15.7
- Предварительная версия 2 Visual Studio 15.7
- Предварительная версия 3 Visual Studio 15.7
- Дополнительный выпуск Visual Studio 15.7 -- Ознакомьтесь с новой записью блога.
Выпуски Visual Studio 2017 версии 15.7
- 2 августа 2018 г. — служебное обновление Visual Studio 2017 версии 15.7.6
- 10 июля 2018 г. — служебное обновление Visual Studio 2017 версии 15.7.5
- 18 июня 2018 г. — служебное обновление Visual Studio 2017 версии 15.7.4
- 31 мая 2018 г. — служебное обновление Visual Studio 2017 версии 15.7.3
- 21 мая 2018 г. — служебное обновление Visual Studio 2017 версии 15.7.2
- 8 мая 2018 г. — служебное обновление Visual Studio 2017 версии 15.7.1
- 07 мая 2018 г. — дополнительный выпуск Visual Studio 2017 версии 15.7.0
Внимание
Уведомления с советами по безопасности Visual Studio 2017 версии 15.7
- 2 августа 2018 г. — уведомление с советами по безопасности Visual Studio 2017 версии 15.7.6
- 10 июля 2018 г. — уведомление с советами по безопасности Visual Studio 2017 версии 15.7.5
- 26 июня 2018 г. — уведомление с советами по безопасности Visual Studio 2017 версии 15.7.4
- 08 мая 2018 г. — уведомление с советами по безопасности Visual Studio 2017 версии 15.7.1
Сводка по новым возможностям в 15.7
- Была добавлена поддержка для изменения места установки.
- Вы можете Сохранить все ожидающие изменения перед началом обновления.
- Диалоговое окно обновления содержит больше сведений об обновлении во время установки.
- C# 7.3 включен в состав Visual Studio версии 15.7.
- Улучшено время загрузки решения для проектов C# и Visual Basic.
- Мы внесли множество обновлений в F# и его средства, уделяя особое внимание производительности.
- Мы сократили время включения IntelliSense для крупных проектов .NET Core на 25 %.
- Мы внесли улучшения в функцию кратких сведений, добавили новые рефакторинги .NET, например преобразование
for
вforeach
, и сделали закрытыми поляreadonly
. - Мы добавили возможность публиковать приложения ASP.NET Core в службе приложений в Linux без контейнеров.
- Live Unit Testing работает со встроенными PDB-файлами и поддерживает проекты, использующие базовые сборки.
- Обозреватель тестов теперь имеет больше активных значков во время тестовых запусков.
- Разработчики C++ могут использовать CodeLens для модульного тестирования.
- Мы добавили новые элементы с правилами из C++ Core Guidelines.
- Отладка крупных решений с помощью PDB-файлов /Debug:fastlink стала более надежной.
- Интеграция CMake поддерживает CMake 3.11 и статический анализ.
- Проекты на Python поддерживают подсказки при вводе в IntelliSense. Также была добавлена команда запуска MyPy для поиска ошибок при вводе кода.
- В проектах Python поддерживаются среды Conda.
- Мы добавили следующую версию нашего отладчика Python на основе популярного отладчика pydevd с открытым исходным кодом.
- TypeScript 2.8 включено в Visual Studio версии 15.7.
- Мы улучшили поддержку Kestrel HTTP во время отладки.
- Мы добавили поддержку отладки JavaScript с Microsoft Edge.
- Отладчик поддерживает проверки подлинности для ссылок на источник в VSTS и GitHub.
- Поддержка отладки проектов .NET Core с использованием функции возврата к предыдущему шагу из IntelliTrace.
- Мы добавили поддержку IntelliTrace для моментальных снимков исключений.
- Мы удалили блокирующее модальное диалоговое окно из извлечения ветви в Git, если перезагрузка решения или проекта не требуется.
- Вы можете выбирать между OpenSSL и SChannel в Git.
- Вы можете создавать и привязывать Azure Key Vault в интегрированной среде разработки Visual Studio.
- Инструменты Visual Studio для Xamarin могут автоматически устанавливать недостающие уровни API Android, необходимые для проектов Xamarin.Android.
- Редактор XAML Xamarin.Forms поддерживает IntelliSense и быстрые исправления для условного XAML.
- Visual Studio Build Tools теперь поддерживает установку в контейнере, а также добавлена поддержка создания проектов Azure, UWP и других типов.
- Вы можете создавать серверы сборки, не устанавливая Visual Studio полностью.
- Обновление пакета SDK для Windows 10 за апрель 2018 года, сборка 17134 является пакетом SDK по умолчанию, необходимым для рабочей нагрузки разработки приложений для универсальной платформы Windows.
- Мы добавили поддержку управления визуальным состоянием для всех приложений UWP.
- Мы включили автоматическое обновление для пакетов APPX, переданных на другое локальное устройство.
- У вас есть новые средства для перехода на NuGet PackageReference.
- Мы добавили поддержку подписи пакетов NuGet.
- Мы добавили Инструментарий Service Fabric для выпуска Service Fabric 6.2.
- Мы обновили Entity Framework Tools, чтобы обеспечить совместимость со средой выполнения EF 6.2 и улучшить реконструирование существующих баз данных.
Основные проблемы, исправленные в версии 15.7
В версии 15.7 исправлены следующие проблемы, о которых сообщили клиенты:
- Мастер классов MFC не может добавить переменные-члены элемента управления.
- Обозреватель тестов периодически не завершает поиск тестов.
- Внутренняя ошибка компилятора в VS15.5.
- В Visual Studio Build Tools отсутствуют веб-пакеты SDK MSBuild.
- Git в VS2017 не поддерживает самозаверяющие сертификаты.
- Visual Studio зависает во время обновления пакета NuGet.
- В Visual Studio Installer отображается "неподдерживаемая команда" после обновления.
- Программа установки Visual Studio зависает на странице "Ожидание Microsoft.VisualStudio.Graphics.EnableTools".
- Конструктор XAML не распознает визуальное состояние и выдает ошибку "Windows 10 Fall Creators Update (10.0, сборка 16299)".
- Автоматическое форматирование в Razor (cshtml) прерывается при вставке.
- Отсутствие диагностики при инициализации недопустимых членов с версии MSVC 14.12.
- Статический ресурс, определенный в ThemeDictionaries, не получается во время редактирования скопированного шаблона для пользовательского элемента управления.
- Добавить новый файл -> Подключенный шаблон "baseName empty string" создает некритическую ошибку.
- Microsoft.Alm.Shared.Remoting.RemoteContainer.dll приводит к высокой загрузке ЦП.
- Некорректное cshtml-форматирование вспомогательного приложения Razor.
Просмотрите все проблемы, о которых сообщили клиенты и которые были исправлены в Visual Studio 2017 версии 15.7.
Подробные сведения о новых возможностях в версии 15.7
Visual Studio 2017 версии 15.7.0
выпущено 7 мая 2018 г.
Новые возможности в версии 15.7
Производительность
- В этом выпуске улучшено время загрузки решений для проектов C# и Visual Basic в среднем на 20%.
- В крупных проектах .NET Core мы сократили время загрузки IntelliSense на 25 %.
- При переключении ветвей в Git больше не возникает модальное диалоговое окно хода выполнения, если не нужно перезагружать решения и проекты.
установке Visual Studio
- Диалоговое окно обновления предоставляет больше сведений об обновлении, например о новых возможностях, размере скачиваемых файлов и последней версии обновления.
- Улучшенная функция сохранения.Перед началом обновления Visual Studio все ожидающие изменения будут сохранены локально. В диалоговом окне обновления будет отображаться кнопка Сохранить все и обновить вместо кнопки Обновить сейчас.
- Мы уменьшили пространство, занимаемое установкой на системном диске, переместив кэш загрузки, общие компоненты, некоторые пакеты SDK и средства на разные диски (рис. 1).
Вы можете задать три папки, но только при первой установке:
- Основной продукт Visual Studio. Это место для файлов, относящихся к выбранной для установки версии Visual Studio.
- Кэш загрузки. Сюда будут загружены установочные файлы и манифесты. Если вы решили не сохранять кэш загрузки и сняли соответствующий флажок, файлы будут удалены после завершения установки.
- Общие компоненты, средства и пакеты SDK. Здесь будут храниться файлы, используемые совместно во время параллельных установок Visual Studio.
Примечание.
Средства и пакеты SDK с разными правилами для места установки не будут устанавливаться на этот диск. Приоритет имеет заданное правило средства или пакета SDK.
Примечание.
Пользователи могут отключить кэш пакета и задать расположение.
Интегрированная среда разработки Visual Studio
Диалоговое окно (рис. 2), указывающее, какие длительные операции выполняются в Visual Studio, теперь доступно для чтения с экрана (например, NVDA, экранный диктор и т. д.). При отображении этого диалогового окна в Visual Studio средство чтения с экрана подает звуковой сигнал, оповещающий о появлении новой информации. Пользователи могут считывать содержимое диалогового окна и взаимодействовать с кнопкой Отменить путем вызова команды Изменить представление в экранном дикторе.
Примечание.
Полная поддержка экранного диктора доступна в сборках Windows 10 Redstone 4 (RS4).
Усовершенствования Visual C++
- Этот выпуск содержит исправление уязвимости раскрытия информации в PDB-файлах, как описано в CVE 2018-1037.
- C5045 — это новая диагностика компилятора для просмотра шаблонов кода, куда компилятор вставил бы устранение рисков Spectre.
- Пакетная установка CMake Visual Studio была обновлена с 3.10 до 3.11.
- Проекты CMake поддерживают статический анализ кода C++, например VCXProj.
- MSVC поддерживает компонент C++ 17 P0426R1 "constexpr for std::char_traits" (Константные выражения для std::char_traits), который значительно повышает полезность
std::string_view
во время компиляции. - Используйте CodeLens над каждым из ваших модульных тестов для запуска, отладки и просмотра состояния теста (рис. 3).
- Мы обновили средства разработки Visual Studio iOS для C++, чтобы обеспечить работу с Xcode 9.
- Мы добавили параметр /analyze:ruleset в cl.exe для фильтрации предупреждений в средствах анализа кода C++ на основе набора правил конфигурации. Это приводит к согласованности между изолированными вызовами компилятора и IDE и повышает производительность за счет выполнения только правил, указанных в наборе.
- Наследование конструктора теперь работает так же, как наследование любого другого члена базового класса. Ранее для этого необходимо было объявить новый конструктор, который представляет исходный. Благодаря этому изменению конструкторы базового класса доступны в производном классе, как если бы они были конструкторами производного класса, что повышает согласованность в C++.
- Шаблоны, которые принимают любой тип как параметр, не являющийся типом, теперь могут использовать ключевое слово
auto
в списке параметров шаблона. В результате при создании экземпляра используется любой тип, и не нужно определять и предоставлять тип параметра шаблона в момент создания экземпляра. - Теперь поддерживается
std::launder
. - Двухэтапный поиск имен теперь работает корректно почти во всех случаях. Некоторые крайние случаи, например вызовы независимой функции к перегруженным операторам, будут исправлены в будущем обновлении.
- Набор средств компилятора MSVC соответствует стандарту C++ 17. При компиляции с параметром /Zc:__cplusplus значение макроса __cplusplus отражает правильные номера версии стандарта.
- Среда выполнения Visual C++ поддерживает способы устранения уязвимости Spectre, вариант 1. В набор средств входят версии DLL с устраненными и неустраненными рисками. При включении функции устранения рисков Spectre на странице свойств создания кода будет установлена связь с версией DLL с устраненными рисками. Дополнительные сведения об устранении рисков Spectre читайте в блоге команды разработчиков Visual C++.
- Компилятор теперь поддерживает устранение рисков Spectre в неоптимизированных сборках (/ Od).
- Параметр /Zf теперь включен по умолчанию, что позволяет быстрее создавать PDB-файл при использовании нескольких процессов компиляции.
- Мы значительно улучшили создание кода для /await. Мы повторно реализовали сопрограммы в генераторе кода для повышения надежности и исправления большинства ошибок.
- Представление целевых объектов CMake — это альтернативный способ просмотра источника проекта CMake в обозревателе решений. Код упорядочен не по папкам, а по отдельным целевым объектам CMake (рис. 4). Такая организация аналогична организации файлов проектов и решений, созданных генератором CMake Visual Studio.
- Исходные файлы (CPP), принадлежащие проектам CMake, можно создавать по отдельности, используя меню CMake или щелкнув правой кнопкой мыши исходный файл в обозревателе решений.
- Неизвестные макросы, вызывающие ошибки анализа тегов, теперь подчеркиваются зеленой волнистой линией. Доступно быстрое действие для автоматического добавления макроса в файл указаний C++ для устранения этой проблемы. Чтобы просмотреть все ошибки анализа тегов в решении или папке, выберите Отображать ошибки анализатора тегов в меню "Проект".
- Заголовки для CppProperties.json включают путь с быстрыми действиями в меню "Открыть папку".
- Заголовки из Linux и Unix-подобных систем теперь загружаются автоматически для использования IntelliSense в Windows. Они также обеспечивают более удобное использование IntelliSense при разработке собственной платформы Linux.
- Мы добавили пять новых элементов для применения правил C++ Core Guidelines в рамках библиотеки Guidelines Support Library.
- Мы разрешаем открытые базовые классы в агрегатных типах, чтобы их можно было инициализировать с помощью синтаксиса агрегатной инициализации без написания стандартных конструкторов. В списке инициализаторов, заключенных в фигурные скобки, сначала инициализируются базы, а затем элементы данных.
- Выведение аргумента шаблона для функций распространяется на конструкторы классов шаблонов. Теперь при построении шаблона класса больше не нужно указывать аргументы.
- В C ++ 17 изменилось определение преобразований квалификации. Ранее они были разрешены между многоуровневыми указателями и смешанными указатели, так что квалификаторы часто добавлялись на уровни, отличные от первого, но это не распространялось на массивы.
- Уточнен порядок вычисления выражений для основных операторов C++, которые ранее зависели от реализации компилятора, например доступ к членам, назначения и индекс массива.
- Объявление using теперь поддерживает семантику расширения пакета для членов базового класса с переменным числом аргументов, которые затем могут использоваться внутри производного класса.
- Мы завершили реализацию выражения SFINAE и внесли соответствующие изменения в библиотеку стандартных шаблонов.
- Мы реализовали параллельные алгоритмы в соответствии со стандартом ISO C++17. Дополнительные сведения см. в исходном файле:
[VSInstallDir]\VC\Tools\MSVC\<ver>\include\yvals.h
. - В режиме /std:c++17 порог предупреждения C4834 ("отмена возвращаемого значения функции с атрибутом nodiscard") повышается с W3 до W1. Кроме того, компилятор теперь может выводить тип аргумента шаблона, не являющегося типом и объявленного с
auto
. - Повышена надежность отладки крупных решений с помощью PDB-файлов /debug:fastlink. Изменения в PDB-файле приводят к сокращению задержки и уменьшению потребления памяти кучи в отладчике VS на 30 %.
- C++ Core Check теперь входит в набор средств по умолчанию для анализа машинного кода. При анализе кода в проекте используется подмножество правил из C++ Core Check в дополнение к рекомендованным правилам по умолчанию.
- Добавлена поддержка параллельной компиляции в проектах Linux, что может значительно сократить время сборки. Ее можно включить в разделе Страницы свойств > C/C++ > Максимальное количество параллельных заданий компиляции.
- Было добавлено свойство проекта Linux "Каталоги включаемых файлов открытого проекта" для оптимизации потребления включаемых файлов из ссылок между проектами в решениях Linux.
- Мы добавили поддержку ClangFormat для разработчиков C++ в IDE. Как и EditorConfig, ClangFormat используется для автоматической установки стиля и формата кода при вводе для всех разработчиков в команде.
Компилятор C#
Помимо исправлений ошибок, этот выпуск предоставляет следующие функции 7.3 C#:
- Ограничения
System.Enum
,System.Delegate
иunmanaged
. - Переназначение локальных переменных ref. Локальные переменные и параметры ref можно переназначить с помощью оператора присваивания ref (
= ref
). - Инициализаторы stackalloc. Вы можете инициализировать массивы, размещенные в стеке, например
Span<int> x = stackalloc[] { 1, 2, 3 };
. - Индексирование перемещаемых буферов фиксированного размера. Индексирование буферов фиксированного размера доступно без предварительного закрепления.
- Настраиваемая инструкция
fixed
. Типы, реализующие подходящийGetPinnableReference
, могут использоваться в инструкцииfixed
. - Оптимизация потенциальных перегрузок. Некоторые потенциальные разрешения перегрузки можно исключить на ранних этапах, чтобы устранить неоднозначность.
- Переменные выражения в инициализаторах и запросах. Переменные выражения, например
out var
, и переменные шаблона допускаются в инициализаторах полей, инициализаторах конструкторов и запросах LINQ. - Сравнение кортежей. Кортежи теперь можно сравнивать с
==
и!=
. - Атрибуты для резервных полей. Атрибуты
[field: …]
для автоматически реализуемого свойства теперь могут быть нацелены на резервное поле.
Python
- Вы можете запустить MyPy в проекте, щелкнув проект правой кнопкой мыши и выбрав Python > MyPy. MyPy будет проверять код по подсказкам при вводе. Обнаруженные ошибки при вводе будут отображаться в списке ошибок.
- Вы можете создавать и использовать среды Conda, а также управлять пакетами для сред Conda с помощью pip или Conda.
- Anaconda 5.1.0 теперь доступна из Visual Studio Installer и устанавливается по умолчанию при выборе рабочей нагрузки обработки и анализа данных.
- Мы добавили необязательную версию в ptvsd 4.0 отладчика Python на основе популярного отладчика pydevd с открытым исходным кодом. Эту необязательную версию с ускоренной отладкой приложений можно включить, установив флажок Использовать экспериментальный отладчик в разделе Инструменты > Параметры > Python > Экспериментальные.
- Прочитайте запись блога "Python в Visual Studio 15.7", чтобы узнать больше об отладчике, Conda, MyPy и подсказках при вводе.
Инструменты Visual Studio для Xamarin
Этот выпуск включает Xamarin.Android 8.3 и Xamarin.iOS 11.10.
Автоматическое управление пакетами SDK для Android
При загрузке проекта Xamarin.Android Visual Studio определяет наличие на компьютере уровня API Android, используемого в проекте, и автоматически устанавливает его в фоновом режиме в случае отсутствия. Чтобы включить эту функцию, перейдите в раздел Инструменты > Параметры > Xamarin > Параметры Android > Автоматическая установка пакетов SDK для Android.
Улучшенная функция IntelliSense XAML
Разработчикам Xamarin.Forms, работающим в Visual Studio 2017 версии 15.7, теперь будет гораздо удобнее использовать IntelliSense (рис. 5). Для редактирования XAML в Xamarin.Forms теперь используется тот же механизм IntelliSense, что и в WPF и UWP. Поэтому теперь у разработчиков появились новые возможности, в том числе улучшенное сопоставление, подсказки, навигация по коду, проверка соблюдения стандарта, завершение ресурсов и завершение расширения разметки.
Улучшения средств для условного XAML
Редактор XAML предоставляет IntelliSense для разработки условного XAML. При использовании типа, который отсутствует в целевой минимальной версии приложения, редактор XAML не только выдает предупреждение, но также предоставляет несколько вариантов по устранению проблемы.
Автоматическая подготовка iOS
Мы упростили подготовку устройства iOS в контексте разработки (рис. 6). В Visual Studio 2017 версии 15.7 оптимизирован процесс запроса сертификата разработки, формирования ключа подписи, добавления устройства в центр разработчиков и создания профиля подготовки — теперь достаточно нажать одну кнопку. Все трудоемкие операции по подготовке устройства iOS теперь выполняются менее чем за 30 секунд.
Управление пакетами SDK для Android
Иногда требуется много времени, чтобы выбрать пакеты SDK для Android, которые необходимо установить для разработки мобильных приложений. В Visual Studio 2017 версии 15.7 можно использовать новый диспетчер пакетов SDK для Android, чтобы не строить догадки. При открытии проекта, для сборки которого не установлены нужные SDK, появится уведомление, которое поможет скачать необходимые пакеты. Щелкните Скачать и установить и примите соответствующее лицензионное соглашение, после чего необходимые пакеты SDK будут автоматически установлены в фоновом режиме.
Новые шаблоны проектов iOS и Android
Шаблоны проектов помогут в создании приложений как новичкам, так и опытным разработчикам Xamarin. Их должно быть легко найти и установить для успешного начала проекта (рис. 7). В этом выпуске мы полностью перестроили шаблоны собственных проектов iOS Android, чтобы их было легче найти, и добавили современные элементы навигации, например всплывающие элементы или нижние вкладки.
Усовершенствования установки
Visual Studio Installer поставляется с обновленной конфигурацией пакета SDK для Android, включая API Android 27 и Android SDK Tools 26. Сюда входит поддержка быстрой загрузки, благодаря которой эмулятор Android загружается менее чем за 5 секунд.
Кроме того, мы включили Android Device Manager в рабочую нагрузку разработки мобильных приложений на .NET, чтобы упростить создание, изменение и удаление эмуляторов.
Улучшения производительности .NET
- Используйте быстрые действия и рефакторинг (CTRL+.) для:
- Преобразовывать
for
вforeach
и наоборот. - Делать закрытыми поля
readonly
.
- Преобразовывать
- Теперь поддерживается функция "Перейти к определению" (F12) для предложений запроса LINQ и деконструкций.
- Используйте CTRL + . для переключения между
var
и явным типом независимо от параметров стиля кода. - В "Кратких сведениях" отображаются данные лямбда-функций и локальных функций, чтобы можно было видеть, какие переменные находятся в области действия.
- Рефакторинг изменений сигнатуры (CTRL + . в сигнатуре) работает в локальных функциях.
- Вы можете редактировать файлы проекта .NET Core на месте, благодаря чему поддерживаются открытие содержащей папки, восстановление вкладок и другие функции редактора. Изменения интегрированной среды разработки, например добавление связанного файла, будут объединены с несохраненными изменениями в редакторе.
Тестирование
- Live Unit Testing работает со встроенными PDB-файлами и PDB-файлами, задающими параметр /deterministic.
- Мы добавили поддержку Live Unit Testing для проектов, использующих базовые сборки.
- Обозреватель тестов теперь имеет больше активных значков во время тестовых запусков. Во время выполнения тестового запуска рядом с выполняющимися тестами отображается кольцевой индикатор выполнения, а рядом с тестами, ожидающими выполнения, отображается значок часов.
Веб-инструменты
- Шаблоны проектов веб-приложений ASP.NET были обновлены до более новых версий зависимых пакетов.
- Вы можете публиковать неконтейнерные приложения в службе приложений Azure на Linux.
- Ссылка для открывания службы приложений Azure в Cloud Explorer со страницы "Сводка публикации".
- Предусмотрена поддержка публикации приложений, зависящих от платформы .NET Core, и автономных приложений.
- Поддержка публикации приложений F# в службе приложений и папке.
- Мы добавили поддержку размещения приложений ASP.NET Core непосредственно в процессе IIS Express.
- Вы можете создать учетную запись хранения и указать имя строки подключения, которое будет храниться в параметрах службы приложений при публикации в новой службе приложений Azure.
- Мы улучшили поддержку Kestrel HTTP во время отладки.
- Приложения ASP.NET Core поддерживают несколько значений, разделенных точкой с запятой, в поле "URL-адрес приложения" в свойствах проекта. При наличии нескольких URL-адресов в этом поле первый из них используется для запуска браузера.
- Через командную строку можно использовать новый шаблон "Идентификатор" (в ближайшее время ожидается поддержка в графическом интерфейсе), который добавляет пользовательский интерфейс управления идентификаторами в приложения ASP.NET Core 2.1.
- В проектах ASP.NET и ASP.NET Core можно создавать и привязывать хранилища ключей Azure Key Vault с веб-приложениями в IDE, настроив подключенную службу Key Vault.
- Если приложение ASP.NET или ASP.NET Core зависит от Azure Key Vault, то, когда оно не может получить доступ к Key Vault в среде выполнения с компьютера разработчика, используя учетную запись из раздела Инструменты > Параметры > Проверка подлинности службы Azure, в списке ошибок появляется соответствующая ошибка. Это позволяет сократить время на обнаружение и исправление проблемы с разрешением или учетной записью и избежать сбоя приложения в среде выполнения.
- Если веб-приложение использует KeyVault, к которому выбранная учетная запись ASAL не имеет доступа, в списке ошибок будет отображаться предупреждение.
Visual Studio 2017 Build Tools
Поддержка Azure, UWP и других рабочих нагрузок
Visual Studio 2017 Build Tools поддерживает сборки из командной строки для большинства проектов Visual Studio. Поддерживаются следующие проекты: ASP.NET, Azure, классические приложения C++, ClickOnce, контейнеры, .NET Core, классические приложения .NET, Node.js, Office и SharePoint, Python, TypeScript, модульные тесты, UWP, WCF и Xamarin. Мы планируем добавить поддержку SQL в будущем выпуске. Теперь также поддерживается установка Visual Studio Build Tools в контейнер. Visual Studio Build Tools можно скачать со страницы Загрузки Visual Studio. Список идентификаторов рабочих нагрузок и компонентов, с помощью которых можно настроить образ контейнера, находится в каталоге компонентов Visual Studio Build Tools 2017.
Примечание.
Для Build Tools требуется лицензия на Visual Studio 2017.
Поддержка UWP в средствах сборки Visual Studio 2017
Visual Studio Build Tools позволяет создавать серверы сборки, не устанавливая Visual Studio полностью. В ответ на запросы клиентов мы расширяем число поддерживаемых в Visual Studio Build Tools типов проектов. К этим типам проектов относятся инструменты UWP, а также перечень поддерживаемых проектов — ASP.NET, Azure, классические приложения C++, ClickOnce, контейнеры, .NET Core, .NET Desktop, Node.js, Office и SharePoint, Python, TypeScript, модульные тесты, UWP, WCF и Xamarin. Мы планируем добавить поддержку SQL в будущем выпуске.
Средства для разработчиков универсальная платформа Windows
- В Blend с последними обновлениями конструктора XAML доступны средства управления визуальным состоянием и анимацией. У всех разработчиков UWP есть доступ к этим средствам. Кроме того, операция "Изменить и продолжить" XAML поддерживает редактирование визуальных состояний и анимации.
- Поддержка автоматического создания кода с помощью машинного обучения Windows позволяет создавать классы-оболочки WinML путем добавления файлов модели ONNX в качестве существующего элемента в проекте.
- Обновление пакета SDK для Windows 10 за апрель 2018 года (сборка 17134) теперь является пакетом SDK по умолчанию для рабочей нагрузки при разработке приложений для универсальной платформы Windows в Visual Studio.
- Вы можете создавать связанные наборы с выполнением кода в дополнительных пакетах с помощью C# и нового шаблона проекта "Дополнительный пакет кода".
- С новым шаблоном элемента "Макет пакета" можно легко создавать плоские группы пакетов.
Поддержка AppInstaller в пакетах APPX
Универсальная платформа Windows позволяет распространять приложения без использования Microsoft Store с помощью механизма, который называется "загрузка неопубликованных приложений". В этом выпуске можно создать файл appinstaller для получения автоматических обновлений от развертываний на основе APPX. Узнайте больше об этой технологии.
NuGet
Этот выпуск предоставляет встроенную поддержку для переноса существующих проектов на основе
packages.config
вPackageReference
.Мы добавили поддержку подписи пакетов NuGet. При установке или восстановлении подписанных пакетов проверяется цифровая подпись перед извлечением содержимого пакетов. Если происходит сбой проверки подписи (например, содержимое было искажено, сертификат недействителен и т. д.), операция будет заблокирована и в списке ошибок будет отображаться ошибка сборки.
TypeScript и JavaScript
TypeScript 2.8 RC теперь включен в Visual Studio 2017 версии 15.7.
Этот выпуск содержит следующие улучшения:
- Поддержка
jsconfig.json
— файла, который помогает управлять параметрами редактора и во многом похож наtsconfig.json
. - Параметр для сокращения потребления ресурсов путем отключения проверки типов для неоткрытых файлов.
- Это параметр Выводить диагностику только для файлов, открытых в редакторе в разделе Инструменты > Параметры > Текстовый редактор > JavaScript/TypeScript > Проект.
- Новые возможности редактирования для пользователей TypeScript и JavaScript:
- Применение всех быстрых исправлений в файле.
- Упорядочивание импорта.
- Завершения для
this.
в классах и фигурные скобках в JSX.
- Функции TypeScript 2.8 :
- Условные типы (
A extends B ? C : D
). - Новые вспомогательные объекты для условного типа
lib.d.ts
, такие какNonNullable
,ReturnType
,Extract
иExclude
. - Детальный контроль над модификаторами в сопоставленных типах.
- Контроль фабрик JSX в файлах с помощью новой директивы pragma
// @jsx
.
- Условные типы (
Дополнительные сведения о TypeScript 2.8 читайте в блоге о релиз-кандидате TypeScript 2.8.
- Функции TypeScript 2.7 :
- Строгая инициализация свойств.
- Числовые разделители.
- Оптимизированные условия типа.
Дополнительные сведения о TypeScript 2.7 читайте в блоге о TypeScript 2.7.
Исправлены также некоторые основные проблемы, о которых нам сообщили клиенты, включая преждевременную активацию фрагментов кода, рефакторинг без возможности отмены, форматирование, которое сложно отключить, и неверный выбор версии TypeScript.
Примечание.
Эти усовершенствования возможны благодаря TypeScript 2.8. Для оптимальной работы обновите существующие проекты до последней версии TypeScript.
Отладка JavaScript с помощью Microsoft Edge
Разработчики Visual Studio ASP.NET и .NET Core, участвующие в программе предварительной оценки Windows, могут устанавливать точки останова и отлаживать файлы JavaScript с помощью браузера Microsoft Edge. В Visual Studio будет использоваться новый протокол средств разработчика Edge, разработанный командой Microsoft Edge для нацеливания на Microsoft Edge. Разработчики могут отлаживать и исправлять проблемы с JavaScript в среде Visual Studio для браузеров Microsoft Edge и Google Chrome. Мы рады представить эту функцию, о которой часто просили наши клиенты. Ваши отзывы об этой функции помогут нам улучшить Visual Studio.
Отладка и диагностика
В этом выпуске добавлена поддержка проверки подлинности для ссылок на источник в VSTS и GitHub. Проверка подлинности будет автоматически добавлена в запросы ссылок на источник, если она доступна в среде IDE. Если пользователь еще не прошел проверку подлинности, будет отображаться пользовательский интерфейс входа для проверки подлинности.
Поддержка отладки проектов .NET Core с использованием функции возврата к предыдущему шагу из IntelliTrace.
- Чтобы включить эту функцию, перейдите в раздел "Параметры > IntelliTrace>" и выберите параметр "События и моментальные снимки IntelliTrace".
- Реализованная в IntelliTrace функция отладки "Перейти назад" поддерживает моментальные снимки исключений. Чтобы включить эту функцию, перейдите в раздел "Параметры > IntelliTrace>" и выберите параметр "События и моментальные снимки IntelliTrace" (рис. 8).
Запуск и подключение отладчика сценариев в Microsoft Edge для проектов ASP.NET
Вы можете отлаживать JavaScript и TypeScript непосредственно в Visual Studio при выборе Google Chrome в качестве браузера. Просто выберите Chrome в качестве браузера в Visual Studio и нажмите клавишу F5 для отладки. Дополнительные сведения см. в разделе Отладка проектов ASP.NET в браузере Google Chrome на стороне клиента.
Team Explorer
В разделе Параметры Git, Глобальные параметры в Team Explorer можно выбрать OpenSSL и безопасный канал. По умолчанию установлен OpenSSL.
Средство Service Fabric для выпуска Service Fabric 6.2
Инструментарий Service Fabric для выпуска Service Fabric 6.2 обеспечивает поддержку совместимости для среды выполнения 6.2 и пакета SDK 3.1. Кроме нескольких исправлений ошибок, новая функция позволяет добавить поддержку контейнера в существующие проекты ASP.NET или консольные проекты. Проекты .NET Framework и .NET Core 2.0 поддерживаются через новое контекстное меню и диалоговое окно для добавления поддержки оркестрации. После добавления поддержки оркестрации в эти проекты Service Fabric их можно развернуть удаленно и отладить в локальном кластере Service Fabric.
Усовершенствования средств Entity Framework
- Поддержка среды выполнения Entity Framework 6.2. При создании модели EF в проекте, который не ссылается на EF, теперь по умолчанию будет устанавливаться пакет EF 6.2 NuGet.
- Различные улучшения специальных возможностей в конструкторе и мастере EF.
- Значительно ускоренное реконструирование при использовании последних версий SQL Server.
- Поддержка обновления моделей из баз данных SQL Server более чем с 300 таблицами.
- Поддержка реконструирования представлений UNION в базах данных Oracle.
Усовершенствования F# и инструментов F#
Мы внесли множество усовершенствований в F# и соответствующие средства. В этом выпуске акцент сделан на производительность и усовершенствование существующих возможностей в проектах в стиле пакетов SDK для .NET. Как всегда, значительный вклад внесли участники замечательного сообщества F#.
Усовершенствования компилятора F# и основной библиотеки
- Добавлено создание файла AssemblyInfo F# из свойств в компиляторе F# в пакете SDK для .NET.
--debug:full
поддерживается для компилятора F# .NET Core в Windows.MakeTuple
поддерживается для кортежей структуры.- Устранено ненужное предупреждение при использовании метода расширения для кортежа.
MailboxProcessor.PostAndAsyncReply
правильно обрабатывает отмену родительского процесса.- Равенство для типов
float32
теперь верно, если используетсяNonStructuralComparison
. - Теперь пересылаются предупреждения при поиске перегрузок метода; автор Маттиас Диттрих (Matthias Dittrich).
- Улучшение предупреждения при сопоставлении шаблонов для перечисления — теперь выдается пример несопоставленного перечисления; автор Джон Уостенберг (John Wostenberg).
Усовершенствования инструментов F#
- Значительное сокращение использования памяти в службе компилятора F#, авторы Avi Avni и Майкрософт.
- Значительное повышение производительности для анализатора неиспользуемых открытых операторов, когда он включен.
- Увеличенная скорость отклика при включенных анализаторах F# и исправлениях кода, так что диагностика ошибок всегда имеет приоритет над остальным.
- Мы добавили шаблоны ASP.NET Core для F#.
- Изначально вставленные файлы в папках для проектов .NET SDK теперь располагаются правильно — в верхней части области, в которую вставлен в файл.
- Скрипты F# без файла проекта правильно отправляют код в F# Interactive при нажатии клавиш ALT+ВВОД.
- Представление отладчика для списков F# расширено с 50 до 5000 элементов.
- В классических проектах F# (только в .NET Framework) также выполняются сборки во время разработки, что уменьшает время загрузки решения.
- Теперь можно переключаться между представлениями структурированных рекомендаций и структурирования в разделе Параметры > Текстовый редактор > F# > Дополнительно.
- Атрибуты уровня сборки теперь возвращаются службой компилятора F#.
- Мы добавили
Entity.DeclaringEntity
в службу компилятора F#. - Доступна оптимизация через API службы компилятора F#; автор Стефен Форкманн (Steffen Forkmann) и ncave.
GetDeclarationLocation
больше не требует файл для предоставления результатов по корректным данным; автор — amieres.IsNameGenerated
теперь доступно в API символов F#, автор — Eugene Auduchinok.
Усовершенствования инфраструктуры F#
- В сборках Mono больше не требуется
autoconf
. - Во всех проектах интеграции Visual Studio теперь используется пакет SDK для .NET.
- Хэш фиксации для сборки инструментов доступен в разделе Справка > О Microsoft Visual Studio.
Чтобы просмотреть весь журнал фиксации о том, что вошло в этот выпуск, ознакомьтесь с нашим тегом выпуска для версии 15.7.
---
Уведомления с советами по безопасности Visual Studio 2017 версии 15.7
Уведомление с советами по безопасности Visual Studio 2017 версии 15.7.6 — выпущено 2 августа 2018 г.
CVE-2018-8356 Уязвимость обхода функций безопасности .NET Core
Корпорации Майкрософт известно об уязвимости обхода функций безопасности, которая возникает при неправильной проверке сертификатов в .NET Core. Злоумышленник, использующий эту уязвимость, может предоставить при запросе сертификат с истекшим сроком действия. Обновление устраняет уязвимость, исправляя проверку сертификатов в .NET Core.
Уведомление с советами по безопасности Visual Studio 2017 версии 15.7.5 — выпущено 10 июля 2018 г.
CVE-2018-8172 Уязвимость при удаленном выполнении кода в Visual Studio
Уязвимость при удаленном выполнении кода может привести к использованию компьютера пользователя, если открыть на нем специально созданный проект или файл ресурсов. Это обновление для системы безопасности устраняет эту уязвимость, исправляя методы, которыми Visual Studio проверяет разметку источника файла.
CVE-2018-8260 Уязвимость при удаленном выполнении кода на платформе .NET
В программном обеспечении .NET существует уязвимость при удаленном выполнении кода, которая может привести к использованию компьютера пользователя, если злоумышленники запустят произвольный код в контексте текущего пользователя. Это обновление для системы безопасности устраняет эту уязвимость, исправляя методы, которыми .NET проверяет разметку источника файла.
CVE-2018-8232 Уязвимость незаконного изменения макроассемблера .NET Microsoft
Уязвимость незаконного изменения была связана с тем, что макроассемблер Microsoft неправильно проверял код. Это обновление для системы безопасности устраняет уязвимость, гарантируя, что макроассемблер Microsoft будет правильно проверять логику кода.
CVE-2018-8171 Уязвимость обхода функции безопасности в ASP.NET Core
Уязвимость обхода функции безопасности в ASP.NET Core возникает в случае, когда число неверных попыток входа не проверяется, и злоумышленник может предпринимать неограниченное количество попыток проверки подлинности. Это обновление устраняет уязвимость, проверяя число неверных попыток входа.
Уведомление с советами по безопасности Visual Studio 2017 версии 15.7.4 — выпущено 18 июня 2018 г.
CVE-2018-11235 Советы по безопасности Майкрософт для устранения уязвимости системы безопасности в Git
Мы исправили уязвимость системы безопасности в Git, обнаруженную сообществом Git. Уязвимость может привести к выполнению произвольного кода, когда пользователь клонирует вредоносный репозиторий.
Уведомление о безопасности Visual Studio 2017 версии 15.7.1, выпущенное 08 мая 2018 г.
CVE-2018-0765 Советы по безопасности корпорации Майкрософт для уязвимости "отказ в обслуживании" .NET Core
Корпорация Майкрософт выпускает этот совет по безопасности, чтобы предоставить сведения об уязвимости в .NET Core и .NET Native версии 2.0. Он также включает указания для разработчиков по корректному обновлению их приложений для устранения этой уязвимости. Корпорации Майкрософт известно об уязвимости "отказ в обслуживании", связанной с неправильной обработкой XML-документов в .NET Framework и .NET Core. Воспользовавшись этой уязвимостью, злоумышленник может вызвать отказ в обслуживании для приложения .NET Framework, .NET Core или .NET Native. Обновление устраняет уязвимость, исправляя способ обработки XML-документов в приложениях .NET Framework, .NET Core или .NET Native. Если используется приложение ASP.NET Core, разработчикам также рекомендуется выполнить обновление до ASP.NET Core 2.0.8.
Visual Studio 2017 версии 15.7.1
выпущено 8 мая 2018 г.
Основные проблемы, исправленные в версии 15.7.1
В версии 15.7.1 исправлены следующие проблемы, о которых сообщили клиенты.
- Этот выпуск включает исправление, сокращающее использование памяти и нагрузку на сборщик мусора при загрузке решения.
Visual Studio 2017 версии 15.7.2
Выпущена 21 мая 2018 г.
Основные проблемы, исправленные в версии 15.7.2
В версии 15.7.2 исправлены следующие проблемы, о которых сообщили клиенты:
- В версии 15.7 у пользователей могла возникать ошибка при попытке установить в командной строке расширение с вложенным расширением. Это было исправлено в служебном выпуске 15.7.2.
- При обновлении не удается удалить Anaconda и выдается предупреждение (ошибка 87).
- Не удается открыть раздел реестра конфигурации установщика SSDT 15.6.0.
- Проблемы с работой редактора при редактировании JavaScript.
- Функция определения объема протестированного кода в Visual Studio 2017 игнорирует асинхронные методы.
- После обновления пропал файл
atls.lib
вarm/arm64
. - Обозреватель тестов больше не выделяет серым ранее выполненные модульные тесты.
- Версия 15.7.1 отлаживает приложение ASPX в новом экземпляре Chrome, даже если отладка JavaScript отключена.
- Сбой компилятора 15.7 при использовании библиотеки Folly.
- Проект ASP продолжает выполняться после закрытия веб-страницы.
- Отладчик Chrome не работает и отображает сообщение об ошибке, но кнопки отладчика остаются активными. .
- Переименование класса Python при помощи функции Переименование из меню рефакторинга больше не работает.
- Visual Studio Installer работает некорректно, если на диске мало места.
- Отладчик привязывается к браузеру, хотя это не задано.
- Проблемы с выведением аргументов шаблонов для шаблонов классов.
- Сбой компиляции при использовании "==" с константными выражениями (constexpr) string_view в C++.
- Исправлена регрессия в поставщиках типов, использующих встроенные ресурсы (например, FSharp.Data.TypeProviders).
- Теперь вы можете добавлять файлы в проекты ASP.NET Core на F# через пользовательский интерфейс.
- В средствах Service Fabric исправлена проблема, когда ожидание передачи данных Microsoft-Extensions-Logging приводило к отключению окна событий диагностики Visual Studio и сообщению об ошибке.
Visual Studio 2017 версии 15.7.3
Выпущено 31 мая 2018 г.
Основные проблемы, исправленные в версии 15.7.3
В версии 15.7.3 исправлены следующие проблемы, о которых сообщили клиенты:
- Компилятор VS2017 создает неработающую отладочную сборку с помощью платформы Qt, что приводит к возникновению ошибки недопустимого адреса, указанного для RtlValidateHeap.
- Некорректное создание кода для умножения матриц.
- VS 2017, обновление 7. В журнале Codelens Git отображаются записи только за последние 6 месяцев.
- Проекты UWP ссылаются на несколько библиотек DLL NetStandard 2.0 после обновления до версии 15.7.1.
- Создание кода C++ в VS 15.7 с помощью /std:c++17 нарушает совместимость на уровне двоичного кода для std::_Ptr_move_cat.
- Visual Studio 15.7 зависает при открытии файлов XAML.
- При обновлении CMake возникает ошибка об устаревании данных IntelliSense для C++, которые нужно обновить, создав кэш CMake.
- Ошибка при запуске второго процесса для отладки.
- После обновления до Visual Studio 15.7.1 некоторые программы для тестирования не удается запустить из-за нарушения прав доступа на чтение.
- Отсутствует обязательный для компилятора член Microsoft.CSharp.RuntimeBinder.Binder.Convert.
- Ошибка при сборке после обновления до версии 15.7.0 для предыдущих проектов с использованием .NET 3.5.
- Некоторые значения переменной элемента класса неправильно считываются как нулевые.
- При первой попытке открыть файл XAML в VS сообщение об открытии файла XAML отображается около 10 минут перед открытием файла.
- Visual Studio замедляется и зависает, приводя к потере результатов работы.
- Целевой объект GetBuiltProjectOutputRecursive не существует в проекте.
- Внутренняя ошибка с обновлением лямбда-выражения C++ 17 после обновления до версии 15.7.1.
- XAML UWP выполняется очень медленно при открытии.
- Автоматическая векторизация MSVC возвращает неправильный код или неверные результаты.
- Visual Studio останавливает отладку нового экземпляра project1 при запуске новой процедуры отладки нового экземпляра project2.
- Последнее обновление прерывает запуск без отладки при использовании нескольких проектов.
- XAML UWP выполняется очень медленно при открытии.
- Средство просмотра XAML зависает при использовании версий 15.7.2 и 15.8.0 (предварительная версия 1.1).
- Отсутствует шаблон проекта приложения тестирования пользовательского интерфейса Xamarin.
- Проблема при создании проекта Xamarin.
- Visual Studio аварийно завершает работу при создании мобильного приложения Xamarin.
- Ошибка при создании проектов Xamarin.Forms.
- Não consigo criar novos projetos Xamarin-Forms: ошибка при создании проектов Xamarin Forms.
- Сбой при открытии пустого проекта после обновления.
Visual Studio 2017 версии 15.7.4
Выпущена 18 июня 2018 г.
Основные проблемы, исправленные в версии 15.7.4
В версии 15.7.4 исправлены следующие проблемы, о которых сообщили клиенты.
- Зеленые волнистые подчеркивания и меню лампочки с сообщением "Макрос в пропущенном регионе".
- Нажатие клавиши F7 не переключает на код.
- При нажатии клавиши F7 больше не выполняется сборка.
- Сборка по нажатию клавиши F7 не работает.
- Ошибка компоновки. Не удалось передать событие телеметрии "Не удалось открыть подключение к VCTIP".
- После обновления не открывается файл AXML.
- Нажатие клавиши F7 больше не переключает между конструктором и кодом.
- Ошибка редактора XAML: проект WPF не поддерживает окно.
- Элемент WinForms View.ToggleDesigner не работает как раньше.
- Потеряно настраиваемое сочетание клавиш для переключения конструктора.
- Нажатие клавиши F7 не запускает новую сборку.
- Нажатие клавиши F7 больше не переключает между представлениями конструктора и кода.
- Имеется проблема с определением структуры на языке C.
- Не удается подготовить новый SQL Server и новую базу данных SQL в регионе, отличном от региона плана службы приложений.
Visual Studio 2017 версии 15.7.5
Выпущено 10 июля 2018 г.
Основные проблемы, исправленные в версии 15.7.5
В версии 15.7.5 исправлены следующие проблемы, о которых сообщили клиенты.
- Отладчик сообщества VS2017 15.7.0 не показывает значения переменных при наведении курсора.
- Блок исключений при оптимизации удаляется, что приводит к аварийному завершению.
- Принудительная отправка в удаленный репозиторий невозможна в обновлениях с 15.7.2 по 15.7.3.
- Фиксация синхронизации: сбой Git с неустранимой ошибкой.
- Ошибка компилятора, связанная с математическими операциями с NaN, не соответствующим стандартам, если оптимизация включена.
- Ошибка оптимизации в сборке x86: неправильный порядок строк.
Visual Studio 2017 версии 15.7.6
Выпущено 2 августа 2018 г.
Общие сведения об обновлениях в версии 15.7.6
Выпуск содержит следующие улучшения.
- Этот выпуск теперь включает установку Java™ Development Kit 8 с обновлением 181 (JDK версии 8u181).
Основные проблемы, исправленные в версии 15.7.6
В версии 15.7.6 исправлены следующие проблемы, о которых сообщили клиенты.
- Распространяемый компонент Visual C++ 2017 не сообщает о состоянии установки в указанном расположении реестра.
- В версии 15.7 расширения могут загружаться без всех ресурсов и вызывать сбой Visual Studio. В версии 15.7.6 это было исправлено.
- Visual Studio 2017 версии 15.7.5 аварийно завершает работу при открытии решения.
Известные проблемы
Мы серьезно относимся к вашим отзывам. Чтобы найти список последних проблем, сообщить о новых проблемах и проголосовать за решение существующих проблем, зайдите на сайт сообщества разработчиков.
Узнайте обо всех известных проблемах и доступных решениях в Visual Studio 2017 версии 15.7.
Отзывы и предложения
Мы будем рады узнать ваше мнение! Вы можете сообщить о проблемах, щелкнув пункт Сообщить о проблеме в правом верхнем углу установщика или самой IDE-среды Visual Studio. Значок находится в правом верхнем углу. Вы можете предлагать для продукта новые функции, задавать вопросы, находить ответы и отслеживать решение своих проблем в сообществе разработчиков Visual Studio. Кроме того, вам доступна бесплатная поддержка в чате по вопросам с установкой.
Блоги
Воспользуйтесь аналитикой и рекомендациями с сайта Developer Tools Blogs. Там вы найдете актуальные сведения обо всех новых выпусках и сможете читать публикации с подробным анализом самых разных функций.
Журнал заметок о выпусках Visual Studio 2017
Дополнительные сведения по предыдущим версиям Visual Studio 2017 см. на странице Журнал заметок о выпуске Visual Studio 2017.