Visual Studio IconЗаметки о выпуске Visual Studio 2017 версии 15.5


Сообщество разработчиков | Требования к системе | Совместимость | Распространяемый код | Условия лицензии | Блоги | Известные проблемы



Примечание.

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


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

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

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

Блог Visual Studio

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

Выпуски Visual Studio 2017 версии 15.5


Сводка по новым возможностям в версии 15.5

Основные проблемы, исправленные в версии 15.5

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.

Просмотрите все проблемы, о которых сообщили клиенты и которые были исправлены в Visual Studio 2017 версии 15.5.

The Developer Community Portal


Подробные сведения о новых возможностях в версии 15.5

Release Notes IconVisual Studio 2017 версии 15.5.0

Выпущено 4 декабря 2017 г.

Новые возможности в версии 15.5

Интегрированная среда разработки Visual Studio

Настройка и установка
  • Теперь установщик создает точку восстановления Windows во время установки.
  • Компонент "Добавление и удаление программ" теперь содержит записи для каждой установки Visual Studio. Установщик Visual Studio теперь поддерживает операции изменения и удаления для каждой записи.
  • Для установки из автономного макета больше не требуется устанавливать промежуточные сертификаты на отключенных компьютерах.
  • Улучшены возможности надежности и отменяемости в процессе установки и обновления.
Обновленное диалоговое окно "Ошибка"

Диалоговое окно "Ошибка" обновлено для отображения дополнительных сведений, полезных при устранении проблем с помощью доступных решений от сообщества разработчиков Visual Studio. (рис. 1).

New installer error dialog box
(Рисунок 1.) Новое диалоговое окно с ошибкой установщика
Производительность
  • Сокращено время загрузки больших проектов на C# и Visual Basic.
  • Сокращено время переключения между отладочной конфигурацией и конфигурацией выпуска.
  • Ускорено добавление, удаление и переименование файлов и папок в проектах .NET Core.
  • Режим упрощенной загрузки решения (LSL) объявлен нерекомендуемым, так как было уменьшено время загрузки решения без LSL.
Подключенные службы
  • Поставщик службы хранилища Azure обновлен для поддержки проектов ASP.NET, предназначенных для .NET Core.

Обновления Team Explorer

Ваши отзывы на сайте UserVoice стали отличной мотивацией для разработки новейших обновлений для Team Explorer.

Теперь вы можете работать с подмодулями и рабочими деревьями Git, а также настраивать fetch.prune и pull.rebase в Team Explorer. Теперь Visual Studio работает с подмодулями и рабочими деревьями Git как с обычными репозиториями. Просто добавьте их в список локальных репозиториев и приступайте к написанию кода!

Обратите внимание, что при работе с подмодулями по-прежнему нельзя выполнять действие, которому требуется поддержка нескольких репозиториев (например, одновременный просмотр файла в родительском репозитории и файла в подмодуле).

Кроме того, можно без труда задать поведение Git по умолчанию, чтобы урезать при каждом извлечении и перемещать изменения из одной ветви в другую при каждом вытягивании. Урезание при каждом извлечении удаляет локальные ветви отслеживания, которые больше не существуют на сервере, и помогает поддерживать четкий и актуальный список ветвей. При перемещении изменений при каждом вытягивании история фиксаций остается линейной и хорошо отслеживаемой. Эти настройки можно найти в разделе глобальных параметров и параметров репозитория.

Советы по безопасности .NET Core и ASP.NET Core

Корпорация Майкрософт выпустила советы по безопасности для .NET Core и ASP.NET Core. Дополнительные сведения можно найти в соответствующих объявлениях в репозиториях .NET Core и ASP.NET Core. Обратите внимание на следующее.

  • CVE-2017-8585 Неправильно сформированный сертификат может привести к отказу в обслуживании: в .NET Core 1.0, 1.1 и 2.0 существует уязвимость, из-за которой неправильно сформированный сертификат или другие форматируемые данные ASN.1 могут привести к отказу в обслуживании из-за бесконечного цикла в Linux и macOS. Системным администраторам рекомендуется обновить среды выполнения .NET Core до версий 1.0.8, 1.1.5 и 2.0.1. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 2.0.3 или 1.1.5.

  • CVE-2017-8700 Обход CORS позволяет раскрыть сведения: в ASP.NET Core 1.0 и 1.1 существует уязвимость, из-за которой можно обойти CORS, что приведет к раскрытию сведений.

  • CVE-2017-11879 Открытое перенаправление может привести к повышению прав: в ASP.NET Core 2.0 существует уязвимость, из-за которой допустимо открытое перенаправление, что приводит к повышению прав.

  • CVE-2017-11770 Уязвимость "Отказ в обслуживании": в ASP.NET Core 1.0, 1.1 и 2.0 существует уязвимость, из-за которой приложение размещается через Http.Sys в Windows, где неправильно сформированный запрос может привести к отказу в обслуживании.

Новые проекты, созданные с помощью ASP.NET Core 1.0, ASP.NET Core 1.1 и ASP.NET Core 2.0, теперь будут использовать версии пакетов, включающие указанные выше обновления для системы безопасности. В существующих проектах пользователи могут обновить пакеты до более новых версий в диалоговом окне "Управление пакетами NuGet".

Набор инструментов компилятора MSVC

В Visual Studio 2017 версии 15.5 набор инструментов компилятора MSVC в Build Tools обновлен до версии 14.12, совместимой с версией 15.4 набора инструментов версии 14.11. При возникновении проблемы с компиляцией кода после обновления до Visual Studio 2017 версии 15.5 можно выполнить принудительную установку набора инструментов версии 14.11 параллельно набору версии 14.12. Набор инструментов Visual Studio 2017 версии 15.4 (14.11) можно выбрать на вкладке Отдельные компоненты после установки рабочей нагрузки C++ Desktop.

Новые возможности компилятора C#

Компилятор C# теперь поддерживает версию 7.2 набора языковых функций, включая следующие возможности.

  • Поддержка типа Span<T>, используемого в Kestrel и CoreFX с помощью модификатора ref struct.
  • Модификатор readonly struct: обеспечивает, что все члены структуры являются readonly. Это привносит дополнительный уровень правильности кода, а также позволяет избежать ненужного копирования значений при доступе к членам.
  • Параметры in и возвращаемые значения ref readonly: обеспечивают безопасную передачу и возврат неизменяемых структур с той же эффективностью, что и для изменяемых значений ref.
  • Модификатор доступа private protected: ограничивает доступ к пересечению protected и internal.
  • Неконечные именованные аргументы: теперь именованные аргументы можно использовать в середине списка аргументов без требования передачи всех следующих аргументов по имени.

Инструменты Visual Studio для Xamarin

Этот выпуск содержит обновленную поддержку для пакетов SDK для Xamarin для iOS и Android.

Запуск текущего представления в режиме реального времени

Новая функция запуска текущего представления в режиме реального времени еще больше упрощает создание пользовательских интерфейсов на основе XAML (рис. 2). Вводите код в эмуляторе Android и наблюдайте, как новый создаваемый интерфейс оживает у вас на глазах, — без необходимости сохранять, компилировать или повторно развертывать приложение.

Xamarin Live Player

Xamarin Live Player позволяет разработчикам непрерывно развертывать, тестировать и отлаживать свои приложения непосредственно на устройствах Android и iOS. Скачав приложение Xamarin Live Player из App Store или Google Play, вы можете связать свое мобильное устройство с Visual Studio и начать создавать собственные мобильные приложения, используя только эти два компонента. Благодаря оптимизации для Xamarin.Forms можно изменить XAML, и внесенные изменения быстро отобразятся на устройстве без необходимости компиляции или полного развертывания. Этот выпуск содержит многочисленные усовершенствования для функциональных возможностей Xamarin Live, включая приведенные далее.

  • Оптимизированная отладка и запуск в режиме реального времени: теперь при отладке Xamarin Live Player автоматически настроит запускаемый проект под нужную платформу (рис. 3). Например, если выбрана ОС iOS и связанным устройством Live Player является Google Pixel, интегрированная среда разработки порекомендует изменить платформу запускаемого проекта на Android.
  • Состояние развертывания: можно отслеживать состояние "Отладка" в Xamarin Live Player с помощью индикаторов статусов развертывания в строке состояния.
  • Интеграция окна консоли и окна "Ошибка": выходные данные, зарегистрированные в приложении, теперь отображаются в окне консоли, а ошибки выводятся в окне "Ошибка" в Visual Studio.
  • Контекстное меню и сочетание клавиш запуска в режиме реального времени: мы хотели упростить процесс мгновенной визуализации пользовательского интерфейса XAML и добавили контекстное меню и сочетание клавиш, чтобы ускорить и упростить предварительный просмотр XAML-страниц.
  • Переключение между документами в режиме реального времени: при создании пользовательских интерфейсов, как правило, приходится переключаться между разными документами XAML. Изменение активного документа в Visual Studio будет происходить автоматически в режиме реального времени, независимо от того, какая страница XAML открыта, поэтому можно легко переключаться между предыдущими и следующими страницами, которые будут сразу же отображаться на устройстве.
Xamarin Live Player
(Рисунок 3.) Анимация режимов сопряжения, развертывания и динамического редактирования Xamarin Live Player
Шаблоны

Окно Файл -> Создать проект -> Мобильное приложение(рис. 4) стало еще удобнее благодаря обновлению мастера кроссплатформенных шаблонов для приложений iOS, Android и Windows. В мастер были внесены следующие улучшения:

  • Поддержка .NET Standard — теперь можно создавать кроссплатформенное приложение Xamarin, применяющее .NET Standard 2.0 в качестве стратегии совместного использования кода.
  • Флажок "Целевые платформы" — выберите нужные платформы в меню "Файл -> Создать".
  • PackageReference — все шаблоны теперь по умолчанию используют PackageReference, новый простой способ управления пакетами NuGet в приложениях Xamarin.
  • Улучшения производительности развертывания — шаблоны теперь должны развертываться гораздо быстрее, чем ранее. В чрезвычайных случаях можно наблюдать 40-кратное улучшение времени развертывания.
File -> New -> Mobile App
Рис. 4. Параметр "Файл" —> "Создать" —> "Мобильное приложение"
Удаленный симулятор iOS

Удаленный симулятор iOS работает полностью на базе Visual Studio в Windows и позволяет вам легко отлаживать и тестировать iOS-приложения. Он поддерживает все возможности симулятора iOS на Mac и даже больше, в том числе мультисенсорный ввод! Начиная с Visual Studio 2017 версии 15.5, удаленный симулятор iOS доступен во всех выпусках Visual Studio, включая бесплатный выпуск Community Edition.

Диспетчер пакетов SDK для Android для Xamarin

Управление пакетами SDK для Android стало проще благодаря новому диспетчеру пакетов SDK для Android для Xamarin. Чтобы воспользоваться новым диспетчером SDK, в Visual Studio выберите "Инструменты -> Android -> Диспетчер пакетов SDK для Android".

Усовершенствования инструментов F#

В Visual Studio 2017 версии 15.5 сделан акцент на поддержке инструментов F# для проектов SDK для .NET Core. Поддерживаются следующие возможности.

  • Можно создавать консольные приложения .NET Core, библиотеки .NET Standard и проекты модульных тестов .NET Core, выбрав Файл > Создать проект.
  • Добавлена поддержка существующих проектов .NET Core и .NET Standard.
  • Добавлена поддержка существующих проектов SDK для .NET Core, предназначенных для .NET Framework.
  • Поддерживаются ссылки проектов на проекты.
  • Добавлена поддержка для проектов по веб-пакетам SDK (например, для проектов ASP.NET Core F# или проекта, использующего шаблон Giraffe).
  • Теперь можно использовать вызываемые щелчком правой кнопки мыши средства публикации для работы с проектами по веб-пакетам SDK.
  • Поддерживается автоматическое формирование конвейера непрерывной интеграции и непрерывной доставки с помощью инструментов Visual Studio Team Services.

Кроме того, внесен ряд улучшений для инструментов Visual F#, не используемых в проектах SDK для .NET. К ним относятся:

  • Функция "Перейти к определению" в C#, F#; авторы: Сол Реннисон (Saul Rennison) и Василий Кириченко.
  • Выделение цветом для темы "Синий (дополнительный контраст)"; авторы: корпорация Майкрософт и Василий Кириченко.
  • Правильный автоподбор размера страниц свойств на разных мониторах.
  • Интеллектуальный автоматический отступ для новых строк, если для параметра отступа задано значение "Smart" (Интеллектуальный); автор: Дак Нгхием Сюань (Duc Nghiem Xuan).
  • Автоматическая отмена отступа для закрывающих квадратных скобок, если для параметра отступа задано значение "Smart" (Интеллектуальный); автор: Сол Реннисон (Saul Rennison).
  • Поля перечислений теперь отображаются как символы в подсказках, функциях "Найти все ссылки", "Перейти ко всем" и "Встроенное переименование"; автор: Василий Кириченко.
  • Комментарии XML-документации, разделяемые новыми строками, не добавляются в текущий комментарий XML-документа, отображаемый при наведении указателя мыши; автор: Василий Кириченко.
  • Исправлена XML-документация для ключевого слова ref; автор: CHBen.
  • Несколько исправлений ошибок и ряд улучшений производительности.

Сообщайте обо всех проблемах в нашем репозитории GitHub.

Изменения в установке F#

Изменен способ получения F#.

  • При установке рабочей нагрузки, требующей .NET Core 2.0, по умолчанию также устанавливается поддержка языка F#. Теперь эту возможность реализуют рабочие нагрузки .NET Core, ASP.NET и Azure.
  • Флажок "Поддержка языка F#" в рабочих нагрузках по разработке классических приложений .NET, по хранению и обработке данных и по разработке приложений для обработки и анализа данных и аналитических приложений был переименован в "Поддержка разработки классических приложений на F#".

Усовершенствования компилятора F# 4.1

В этом выпуске исправлено несколько ошибок компилятора F# 4.1.

  • Усовершенствования процесса создания PDB-файла в компиляторе F#, исправлены пять известных проблем при отладке F#, относящихся к версии 2014.
  • Исправление для полей записей, неправильно разрешаемых компилятором; автор: Василий Кириченко.
  • StartAsTask теперь правильно ожидает отмены для завершения; автор: Матиас Дитрих (Matthias Ditrich).
  • Ссылки на сборки теперь создаются, только когда тип используется в атрибуте.
  • Размеченные объединения с одной ветвью с тем же именем ветви более не преобразуются автоматически в тип объекта.
  • Исправлен возможный бесконечный асинхронный цикл в MailboxProcess. Receive.

Усовершенствования Visual C++

Теперь вы можете импортировать существующие проекты CMake и конфигурации кэша в интегрированную среду разработки, выбрав Файл>Открыть>CMake.

Поддержка функции "Открыть папку" для операций экспорта веб-компилятора ARM

Выберите параметр в рабочей нагрузке Linux C++ для проектов для встроенных платформ и Интернета вещей и изменяйте и компилируйте проекты, предназначенные для микроконтроллеров ARM. Мы поддерживаем открытие проектов, экспортированных как GCC из веб-компилятора ARM, которые затем можно перекрестно скомпилировать в локальной среде Visual Studio. Дополнительные сведения см. в публикации в блоге о Visual C++ для разработки ARM.

Удаленные задачи

Функция "Открыть папку" теперь поддерживает удаленные задачи. Затем эти задачи выполняются в удаленной системе с помощью Secure Shell (SSH). Эти задачи можно также настроить для копирования файлов на целевой компьютер, чтобы выполнять такие действия, как компиляция кода с помощью команды make в системе Linux. Дополнительные сведения см. в публикации в блоге об использовании удаленных задач в Visual Studio.

Улучшения для библиотеки стандартных шаблонов

На веб-сайте открытых стандартов существует несколько страниц для групп, создающих открытые стандарты. Мы добавили приведенные ниже усовершенствования в стандартную библиотеку шаблонов в соответствии со стандартом C++17.

  • not_fn(): P0005R4 рекомендует внедрить модуль привязки функции not_fn из служб терминалов для основ работы с библиотеками v2 в качестве замены прежних элементов НЕ — not1 и not2.
  • Переформулировка enable_shared_from_this: P0033R1Re-enabling shared_from_this.
  • Неподдерживаемые части библиотеки: P0174R2. Из-за внесения дополнений в течение нескольких лет было превышено количество функций стандартной библиотеки C++ либо мы узнали, что они не служат выполнению изначально ожидаемой цели. В этом документе предлагается не использовать устаревшие функции там, где доступны лучшие, более простые или понятные варианты.
  • Удаление поддержки распределителя в std::function: P0302R1. Шаблон класса std::function имеет несколько конструкторов, которые принимают аргумент распределителя, но имеют неясную семантику. Кроме того, существуют технические проблемы с хранением распределителя в контексте стирания типа и последующем восстановлении этого распределителя для выделений, необходимых во время назначения копирования. Эти конструкторы должны быть удалены.
  • Исправления для not_fn(): P0358R1. Предлагается новая формулировка для std::not_fn, которая наряду с другими усовершенствованиями поддерживает распространение категории значений в случае вызова программы-оболочки.
  • shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. Объединение изменений shared_ptr из основ работы с библиотеками с C++17.
  • Исправление shared_ptr для массивов: P0497R0. Исправления для поддержки shared_ptrдля массивов.
  • Отказ от использования shared_ptr::unique(): P0521R0. Предложенное решение для CA 14 (shared_ptr use_count/unique).
  • Отказ от использования codecvt: P0618R0, <codecvt> не является оптимальным способом решения проблем с перекодированием Юникода, нужно прекратить использование этого компонента библиотеки, поместив его в приложение D.
  • Удаление динамических спецификаций исключений: P0003R5. Спецификации динамических исключений стали нерекомендуемыми в C++11. Удаление компонента из C++17, с сохранением (по-прежнему) нерекомендуемой спецификации throw() исключительно в качестве псевдонима для noexcept(true).
  • Соединение карт и наборов: P0083R3. Такой подход позволяет объединять операции всех видов, перемещать элементы (включая ключи карты) из контейнера, а также выполнять другие полезные действия. Это улучшение для ассоциативных и неупорядоченных ассоциативных контейнеров, предназначенное для поддержки работы с узлами. Это дополнение к стандартной библиотеке.
  • Уточнение insert_return_type: P0508R0. Ассоциативные контейнеры с уникальными ключами и неупорядоченные контейнеры с уникальными ключами имеют функцию-член insert, возвращающую insert_return_type вложенного типа. Этот тип возвращаемого значения является специализацией типа, указанного в этом разделе.
  • Встроенные переменные для STL: P0607R0.
Усовершенствования компилятора Visual C++

Компилятор Visual C++ поддерживает около 75 % возможностей C++ 17, включая структурированные привязки, лямбда-выражения constexpr, if constexpr, встроенные переменные, выражения свертывания и добавление noexcept в систему типов. Они доступны в параметре /std:c++17. Режим совместимости /permissive- включает частичную поддержку двухэтапного поиска имени и улучшенную поддержку раскрытия пакета для шаблонов с переменным числом аргументов. Кроме того, режим /permissive- был добавлен в качестве нового раскрывающегося меню "Язык" в окне свойств проекта для проектов C++.

Усовершенствования оптимизатора Visual C++

Команда создания кода на C++ внесла усовершенствования в существующие оптимизации компилятора и добавила новые оптимизации в выпуск 15.5.

Ряд усовершенствований компоновщика:

  • Новая и ускоренная реализация /OPT:ICF: повышение скорости компоновки до 9 %.
  • Внесены исправления в инкрементную компоновку. Инкрементная компоновка никогда не будет выполняться медленнее, чем полная компоновка.

Ряд усовершенствований существующих оптимизаций:

  • Улучшена эвристика векторизатора для условных выражений.
  • Улучшена оптимизация loop-if-unswitching.
  • Усовершенствовано развертывание циклов.
  • Улучшено кодирование минимального или максимального значения для типа float.

Ряд новых оптимизаций:

  • Усовершенствованы инструкции и устранены избыточные (и частично избыточные) инструкции для оптимизатора SSA.
  • Оптимизирована векторизация условных скалярных хранилищ.
  • Вызовы sin(x) и cos(x) объединены в sincos(x).

Visual C++ поддерживает AVX-512 от Intel, включая инструкции по длине вектора, которые привносят новые функции AVX-512 в 128- и 256-битные регистры.

Мы поставляем более 20 новых проверок для рекомендаций C++ Core Guidelines в анализе кода C++. Они проверяют корректность интеллектуальных указателей, правильность использования глобальных инициализаторов и применение флагов конструкций, таких как goto и bad_cast.

Некоторые номера предупреждений, которые можно встретить в версии 15.3, больше не доступны в версии 15.5. Эти предупреждения были заменены более конкретными проверками.

Встроенная поддержка платформ Google Test и Boost.Test

Создавайте, обнаруживайте и выполняйте модульные тесты Google Test и Boost.Test в Visual Studio. Теперь по умолчанию обозреватель тестов поддерживает платформы Google Test и Boost.Test. Выполняя обновление с предыдущей установки Visual Studio, откройте Visual Studio Installer, нажмите кнопку "Изменить" в экземпляре Visual Studio и установите флажки "Адаптер тестов для Google Test" и "Адаптер тестов для Boost.Test" в разделе "Разработка классических приложений на C++". С легкостью создавайте новый проект Google Test: последовательно выберите Файл > Создать > Проект > Visual C++ > Тест > Google Test.

Дополнительные сведения см. на страницах Использование Google Test для C++ в Visual Studio и Использование Boost.Test для C++ в Visual Studio документации Майкрософт.

Веб-инструменты Visual Studio

  • Улучшено форматирование синтаксиса Razor.
  • Улучшена процедура публикации приложений ASP.NET на виртуальные машины Azure.

Инструменты работы с контейнерами Docker

  • Инструменты Visual Studio для контейнеров Docker теперь поддерживают многоэтапные файлы Dockerfile, позволяющие упростить создание оптимизированных образов контейнеров.
  • Если среда Visual Studio запущена на компьютере под управлением Windows 10 версии 1709 или Windows Server версии 1709, образы контейнера будут по умолчанию использовать Windows Server версии 1709. Это можно изменить путем редактирования файла Dockerfile. Обратите внимание, что образы контейнеров, использующие предыдущие версии Windows, будут выполняться только в Windows 10 версии 1709 и Windows Server версии 1709 в режиме изоляции Hyper-V. Дополнительные сведения см. на странице Совместимость версий контейнеров Windows.
  • По умолчанию Visual Studio будет автоматически извлекать, собирать и запускать необходимые образы контейнеров в фоновом режиме при открытии проекта, который поддерживает Docker. Это поведение можно отключить с помощью параметра Автоматически запускать контейнеры в фоновом режиме в Visual Studio.

Усовершенствования TypeScript и JavaScript

Поддержка Angular 2

Разработчики на Angular2 теперь могут просматривать ошибки, завершения и выполнять переходы по коду во встроенных шаблонах и NGTML-файлах шаблона. Общие сведения и инструкции см. в примере проекта.

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

На страницу параметров проекта текстового редактора JavaScript/TypeScript добавлен флажок Анализировать только те проекты, которые содержат файлы, открытые в редакторе. Этот параметр предназначен для повышения производительности и надежности в больших решениях. Обратите внимание, что когда этот флажок установлен, потребуется выполнить сборку решения, чтобы увидеть полный список ошибок TypeScript во всех файлах.

Исправлена проблема, из-за которой языковой службе TypeScript и JavaScript приходилось использовать больше памяти, чем предусмотрено, и которая могла привести к загрузке неправильной версии TypeScript в решениях для нескольких проектов.

Инструменты Windows Communication Foundation (WCF)

Поставщик подключенной службы WCF Web Service Reference(рис. 5) теперь входит в состав Visual Studio 15.5.

WCF Web Service Reference
(Рисунок 5.) WCF Web Service Reference

Чтобы использовать это средство, щелкните правой кнопкой мыши элемент проекта зависимостей в проекте .Net Core, выберите параметр "Добавить подключенную службу" и введите адрес веб-службы, для которой требуется создать код. Созданный код прокси клиента WCF сохраняется в файле C#, который автоматически добавляется в проект. Это позволяет коду .NET Core легко взаимодействовать с веб-службой.

Дополнительные сведения см. в заметках к выпуску WCF Web Service Reference на сайте GitHub.

Отладка и диагностика

Отладка рабочих приложений с помощью отладчика моментальных снимков

Теперь вы можете использовать точки прикрепления (Snappoint) и точки ведения журнала (Logpoint) для отладки приложений ASP.NET и ASP.NET Core, работающих в службах приложений Azure, с минимальным воздействием на приложение.

  • Задавайте точки прикрепления (рис. 6), чтобы записывать состояние своего приложения, включая локальные переменные, контрольные значения и стек вызовов. В отличие от точек останова приложение не будет останавливаться по достижении точки моментальных снимков.
Snappoints image
(Рисунок 6.) Точки прикрепления
  • Используйте точки ведения журнала (рис. 7), чтобы записывать в журнал новые сообщения от вашего приложения без необходимости добавлять код или выполнять повторное развертывание.
Logpoints
(Рисунок 7.) Точки ведения журнала
Поддержка внедренного источника и внедренного PDB-файла

С помощью внедренного источника отладчик Visual Studio теперь может получать и использовать исходные файлы для управляемых двоичных файлов непосредственно из PDB-файлов. Используйте внедренный источник вместе с внедренным PDB-файлом для создания полностью автономных библиотек с поддержкой отладки. Узнайте больше об использовании параметра компилятора /embed.

Теперь при построении с использованием внедренных PDB-файлов можно выполнять отладку с помощью функции "Изменить и продолжить" для управляемого кода.

Переход назад во время отладки с помощью IntelliTrace

С новой функцией Переход назад во время отладки IntelliTrace автоматически создает моментальный снимок приложения на каждой точке останова и на каждом шаге отладчика. Это позволяет возвращаться к ним и просматривать предыдущее состояние приложения.

Эта функция доступна для юбилейного обновления Windows 10 и более поздних версий. Сейчас она поддерживает отладку ASP.NET, WinForms, WPF, управляемых консольных приложений и управляемых библиотек классов (рис. 8). Чтобы включить ее, выберите Сервис>Параметры>Параметры IntelliTrace, а затем выберите События и моментальные снимки IntelliTrace.

Stepback
(Рисунок 8.) Переход назад во время отладки с помощью IntelliTrace

Доступ к ресурсам Azure из Visual Studio с помощью включенного условного доступа

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

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

Поддержка инструментов Office для Office в Магазине Windows

Проекты для веб-надстроек Office и проекты VSTO теперь поддерживают разработку с помощью Office в Магазине Windows. Используя Office в Магазине Windows, можно создавать проекты для веб-надстроек Office и проекты VSTO, выполнять их сборку, отладку и публикацию.

  • Для работы с инструментами Office с Office в Магазине Windows требуется обновление Fall Creators Update (версия 1709) для Windows 10 или Windows Server 2016.

Набор средств Visual Studio для Unity

  • Проекты Unity теперь автоматически повторно загружаются в Visual Studio при добавлении или удалении скриптов Unity.
  • Исправлено. Создание проекта проигрывателя при работе над игрой UWP с использованием серверной среды IL2CPP/.NET 4.6.
  • Появилась возможность использовать отладчик Mono, общий для Xamarin и Visual Studio для Mac, для отладки редактора Unity.

Динамическое модульное тестирование

  • Сборки Live Unit Testing теперь являются внепроцессными, что улучшает использование памяти в Visual Studio.

Упаковка Windows

Добавлена поддержка в проект упаковки, позволяющая включать приложения и компоненты UWP для использования новейших возможностей Windows 10 из существующих классических приложений. Для включения компонентов UWP можно Add Reference в приложение UWP (рис. 9).

Windows Packaging Project with UWP reference
(Рисунок 9.) Проект упаковки Windows со ссылкой на UWP

Мастер хранения пакетов можно использовать для создания файлов, необходимых для отправки приложения моста для классических приложений в хранилище, как и в случае с существующими проектами UWP.


Release Notes IconVisual Studio 2017 версии 15.5.1

Выпущено 7 декабря 2017 г.

Основные проблемы, исправленные в версии 15.5.1

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.


Release Notes IconVisual Studio 2017 версии 15.5.2

Выпущено 14 декабря 2017 г.

Основные проблемы, исправленные в версии 15.5.2

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.


Release Notes IconVisual Studio 2017 версии 15.5.3

Выпущено 9 января 2018 г.

Общие сведения об обновлениях в версии 15.5.3

Советы по обеспечению безопасности Майкрософт для .NET Core

  • CVE-2018-0786 Обход функции безопасности при проверке сертификата X509. Корпорация Майкрософт выпускает этот совет по безопасности, чтобы предоставить сведения об уязвимости в общедоступных версиях .NET Core 1.0, 1.1 и 2.0. Он также включает указания для разработчиков по корректному обновлению их приложений. Совет по безопасности также относится к .NET Native для универсальной платформы Windows (UWP).

    Корпорации Майкрософт известно об уязвимости в общедоступных версиях .NET Core, позволяющей злоумышленнику предоставить сертификат, который помечен как недопустимый для определенного использования, но при этом используется для этой цели каким-то компонентом. Такое действие игнорирует теги расширенного использования ключа.

    Обновление для системы безопасности устраняет уязвимость, заставляя компоненты .NET Core проверять сертификаты полностью. Рекомендуем системным администраторам обновить свои среды выполнения .NET Core до версий 1.0.9, 1.1.6 и 2.0.5. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 2.1.4 или 1.1.7.

  • CVE-2018-0764 Отказ в обслуживании при анализе XML-документов. Корпорация Майкрософт выпускает этот совет по безопасности, чтобы предоставить сведения об уязвимости в общедоступных версиях .NET Core 1.0, 1.1 и 2.0. Он также включает указания для разработчиков по корректному обновлению их приложений.

    Корпорации Майкрософт известно об уязвимости во всех общедоступных версиях .NET Core, связанной с отказом в обслуживании из-за некорректного анализа XML-документов. Воспользовавшись этой уязвимостью, злоумышленник может вызвать отказ в обслуживании для приложения .NET. В роли удаленного пользователя, не прошедшего проверку подлинности, злоумышленник может направлять приложению .NET Core созданные особым образом запросы.

    Обновление устраняет уязвимость, исправляя способ обработки XML-документов в .NET Core. Рекомендуем системным администраторам обновить свои среды выполнения .NET Core до версий 1.0.9, 1.1.6 и 2.0.5. Разработчикам рекомендуется обновить пакет SDK для .NET Core до версии 2.1.4 или 1.1.7.

Основные проблемы, исправленные в версии 15.5.3

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.


Release Notes IconVisual Studio 2017 версии 15.5.4

Выпущено 16 января 2018 г.

Основные проблемы, исправленные в версии 15.5.4

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.


Release Notes IconVisual Studio 2017 версии 15.5.5

Выпущено 25 января 2018 г.

Общие сведения об обновлениях в версии 15.5.5

  • В компилятор MSVC добавлена поддержка параметра /Qspectre, который автоматически ставит барьер на упреждающее выполнение, если компилятор обнаруживает экземпляры первого варианта Spectre. Дополнительные сведения о /Qspectre см. в блоге команды разработчиков Visual C++.

Основные проблемы, исправленные в версии 15.5.5

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.

  • Приложение Xamarin выдает ошибку Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'.
  • Приложение Xamarin.Android вызывается ClassNotFoundException при производных от Application классах.
  • Обновление может вызвать удаление ранее установленных пакетов SDK для Windows и Android.
  • Пакет JDK 8 обновлен до последней версии для предотвращения сбоев загрузки с веб-сайта Oracle.

Release Notes IconVisual Studio 2017 версии 15.5.6

Выпущено 29 января 2018 г.

Общие сведения об обновлениях в версии 15.5.6


Release Notes IconVisual Studio 2017 версии 15.5.7

Выпущено 20 февраля 2018 г.

Общие сведения об обновлениях в версии 15.5.7

  • Поддержка TLSv1.2 в Team Explorer. Мы обновили компоненты Git и Git Credential Manager, которые предоставляются в Visual Studio. Дополнительный компонент Git для Windows также обновлен. Это обновление позволяет Git подключаться к службам, которые больше не поддерживают TLSv1 и TLSv1.1, но поддерживают TLSv1.2.

Основные проблемы, исправленные в версии 15.5.7

Эти проблемы, о которых сообщили клиенты, исправлены в этом выпуске.

  • Проекты, предназначенные для .NET Core 2.1 или более новой версии, не поддерживаются в Visual Studio 2017 версии 15.5.
  • Исправлена проблема, когда установка пакета SDK для .NET Core 2.1 или более поздней версии приводила к инактивации параметра создания веб-приложений ASP.NET Core 2.0.

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

Мы серьезно относимся к вашим отзывам. Чтобы найти список последних проблем, сообщить о новых проблемах и проголосовать за решение существующих проблем, зайдите на сайт сообщества разработчиков. Узнайте обо всех известных проблемах и доступных решениях в Visual Studio 2017 версии 15.5.

Visual Studio 2017 Known Issues


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

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


Блоги

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

Developer Tools Blogs


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

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


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