Поделиться через


Значок Visual StudioЗаметки о выпуске Visual Studio 2015 с обновлением 3

Условия лицензионного соглашения | в Блоге | Visual Studio Сообщество разработчиков

Примечание.

Этот выпуск — не последняя версия Visual Studio. Вы можете скачать последний выпуск на странице заметок о текущем выпуске для Visual Studio 2019.


Выпуски Visual Studio 2015

Заметки о выпуске можно просмотреть для всех версий Visual Studio 2015:

Скачивание Visual Studio 2015

Вы можете скачать Visual Studio 2015 по ссылке My.VisualStudio.com. My.VisualStudio.com требуется бесплатная подписка Dev Essentials или подписка Visual Studio.


Значок заметок о выпускеVisual Studio 2015 с обновлением 3

Дата выпуска: 27 июня 2016 г.

Сводка о новых возможностях в этом выпуске


Новые возможности этого выпуска

Средства для Apache Cordova

Примечание.

Версия Node.js, установленная с visual Studio 2015 с обновлением 3, устарела. Чтобы обновить до более нового выпуска, узнайте больше о том, как безопасно обновить Node.js.

Обновление 3 для Visual Studio 2015 включает в себя обновление 10 для средств для Apache Cordova, в том числе улучшения ниже. Также см. сведения об обновлении 10. Последние новости о средствах доступны в нашем блоге разработчиков на GitHub.

  • Мы добавили поддержку Cordova 6.1.1; эта версия будет использоваться по умолчанию для новых проектов.
  • Мы удалили реестр подключаемых модулей Cordova, который использовался в Cordova версии 4.x. Это означает, что теперь для добавления подключаемых модулей требуется Cordova версии 5.x или более поздней версии.
  • Список базовых подключаемых модулей обновлен и теперь в него входят подключаемые модули для организаций (например, для таких ситуаций как: Intune, использование Azure, безопасность и локальное хранилище SQLite).
  • Теперь вы можете добавлять подключаемые модули из конструктора конфигурации по имени пакета NPM или по идентификатору.

cordova-add-plugin-byid

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

plugin-parameters

Средства анализа для разработчиков

Мы внесли следующие улучшения в средства анализа для разработчиков 7.0.2:

  • Добавили тренды Application Insights, средство для поиска тенденций в телеметрии из вашего приложения.
  • Добавлена телеметрия исключений в CodeLens.
  • Данные о рабочей телеметрии добавлены в исключения в средствах диагностики.
  • Поддержка добавления Application Insights в проекты версии-кандидата 2 ASP.NET Core из Visual Studio.
  • События средств диагностики для проектов версии-кандидата 1 ASP.NET 5 RC1 и версии-кандидата 2 ASP.NET Core.
  • Автоматическое обновление поиска Application Insights при выборе расширенной фильтрации, временных диапазонов и событий.
  • Переход к коду из поисковых запросов.
  • Улучшенный вход в HockeyApp.

Дополнительные сведения см. в технических заметках о выпуске в документации по Microsoft Azure.

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

В обновление 3 добавлена поддержка средств диагностики для приложений, запущенных на устройствах OneCore, включая HoloLens и IOT.

Улучшения в возможности C++ "Изменить и продолжить"

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

Улучшения в пользовательском интерфейсе отладки XAML

  • Каждый раз при смене фокуса в приложении новая функция "Отслеживать фокус" динамического визуального дерева переместит выделение в дереве на элемент в фокусе.

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

Подписки и ключи продуктов

Мы выполнили просьбы клиентов, использующих подписки, работающие через веб-удостоверения или ключи продуктов, для разблокировки IDE, в обновлении 3 следующим образом:

  • Вам больше не потребуется переходить по ссылке https://my.visualstudio.com для активации назначенной вам облачной подписки Visual Studio. Можно приступать к работе с Visual Studio IDE сразу после назначения подписки.
  • Мы улучшили обработку ошибок при применении ключа продукта.
  • Все операции с учетной записью и лицензией пользователя теперь защищены с помощью HTTPS.
  • Мы сделали более удобным окно параметров учетной записи для активации подписки и ввода ключа продукта.
  • Чтобы поддерживать учетную запись персонализации в активном состоянии и синхронизировать перемещаемые настройки, больше не требуется повторная аутентификация каждые 8 дней.

Средства для универсальных приложений для Windows

Обновление 3 для Visual Studio 2015 поставляется с несколькими улучшениями для средств для универсальных приложений Windows. Основное улучшение состоит в том, что при создании пакета для отправки в Магазин Windows вы можете войти в систему с помощью учетных данных Azure Active Directory для учетной записи хранилища AAD. После связи проекта с Магазином Windows входить в систему при создании пакета и его отправке в Магазин больше не потребуется.

.NET Native для универсальных приложений Windows

.NET Native 1.4 — это дополнительный выпуск для обслуживания, повышающий производительность, исправляющий несколько ошибок, о которых сообщили клиенты, и сокращающий время компиляции сборки выпуска для крупных приложений. В XAML-приложениях и играх на Unity, которые используют .NET Native 1.4, повысится производительность во время выполнения. Этих улучшений удалось достичь, ускорив вызовы API отражений и машинного кода.

Средства для разработки архитектуры

Мы удовлетворили просьбы клиентов о повышении производительности и надежности.

Доменные графические конструкторы (включая EDMX и DBML)

В Windows 10 среда Visual Studio теперь отвечает, когда вы открываете или пытаетесь изменить крупные схемы EDMX или DBML во время отображения экранной клавиатуры.

Представление кода

  • Visual Studio теперь отвечает, когда вы пытаетесь "Создать карту кода для решения" в решении, содержащем проекты установщика (VDPROJ).
  • Visual Studio теперь отвечает при запуске команды карты кода из редактора кода и закрытии окна "Карта кода" сразу после его появления.

Проверка слоев

  • При сборке решения, проект моделирования которого содержит схему слоев с действием проверки, ядро ЦП больше не используется после завершения сборки.
  • Теперь вы можете проверить схему слоев, когда родительский проект моделирования ссылается на библиотеки PCL (например, ODP.Net).

Инструменты Node.js для Visual Studio

Версия-кандидат Node.js Tools 1.2 для Visual Studio доступна для скачивания. Ожидается, что этот выпуск значительно повысит стабильность и производительность, в том числе сократит количество сбоев из-за нехватки памяти, возникавших в предыдущих выпусках.

Другие возможности:

  • Более быстрый и улучшенный ES6 IntelliSense
  • Более надежная отладка
  • Улучшенный интерфейс модульного тестирования (включая поддержку лент)
  • Команда .npm в еще большем количестве типов проектов

Полные сведения и файлы для скачивания см. на странице выпуска версии-кандидата Node.js Tools 1.2.

Средства для веб-разработчиков

Для проектов веб-приложения ASP.NET процесс IIS Express больше не будет останавливаться при каждой остановке отладки, если установлен флажок "Включить функцию "Изменить и продолжить"".

Visual C++

В обновление 3 внесены такие улучшения, как новые проверки и предупреждения для компилятора C++, а также усовершенствования в сфере поддержки и производительности для программирования на C# и Visual Basic.

Компилятор C++

  • Теперь проверяется доступ для удаленного тривиального конструктора копирования или перемещения. Без этой проверки мы могли неправильно вызвать конструктор копирования по умолчанию (в котором могла быть неправильно сформирована реализация), что привело бы к потенциальным ошибкам в создаваемом коде среды выполнения.
  • Std::is_convertible теперь корректно обнаруживает присваивание типа класса самому себе, когда конструктор копирования удален или является закрытым.
  • В качестве последнего этапа завершения поддержки ATL с атрибутами в Visual Studio 2008 мы добавили новое предупреждение об устаревании в компилятор. Начиная с обновления 3 для Visual Studio 2015 при использовании кода ATL с атрибутами будет по умолчанию создаваться предупреждение уровня 1. C4467
  • При использовании PCH-файлов и неправильном включении каталогов с помощью -l в параметрах компилятора между -Yc и -Yu теперь будет создаваться новое предупреждение. C4599
  • При использовании PCH-файлов и неправильном использовании директив #include в исходных файлах между -Yc и -Yu теперь будет создаваться новое предупреждение. C4598

Дополнительные сведения о том, как эти изменения могут повлиять на существующий код, см. в статье Руководство по переносу и обновлению Visual C++ на сайте MSDN.

Библиотеки C++

  • Мы восстановили производительность режима отладки при уничтожении диапазонов тривиальных объектов, которые регрессии в обновлении 2, как и в векторной<диаграмме>.

  • Мы реализовали заменяемые признаки из рабочего документа C++17 из предложения P0185 Добавление [nothrow-]заменяемых признаков. Признаки (is_swappable, is_swappable_with, is_nothrow_swappable и is_nothrow_swappable_with) видимы, а ограничения std::swap активны только при компиляции с параметром /std:c++latest. Это новая, экспериментальная возможность C++17.

  • Удалены вызовы событий трассировки Windows из vcruntime140.dll и статических библиотек, которые ранее срабатывали при запуске процесса и dllmain.

  • Удалена длина имени символа в общем оборудовании контейнеров STL (например, std::vector), что сократило вероятность возникновения предупреждений C4503. Например, следующий тип больше не создает предупреждение: параллелизм::concurrent_unordered_map<wstring, пары<векторов uint64_t, векторные<<uint8_t>>>>.

  • ATL/MFC/AMP/PPL: множество сопутствующих исправлений, связанных с двухфазным поиском.

    • _com_ptr_t теперь имеет конструктор перемещения и оператор присваивания перемещением.

    • MFC: исправлена обработка значений HMENU, которые иногда мешали правильному отображению меню в 64-разрядных приложениях.

    • ATL и MFC: следующие предупреждения больше не создаются.

    • Переопределение и скрытие функций: C4263, C4264, C4266

    • Несовпадение спецификации исключений: C4986

    • /analyze: C6386

    • ATL: все виды AtlThrow теперь правильно отмечаются __declspec(noreturn). Это предотвращает появление ошибочных предупреждений SAL.

    • ATL: исправлены и улучшены некоторые заметки SAL.

    • /std:c++latest обеспечивает работу следующих новых возможностей: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable" и P0272R1 "Non-const basic_string::data().".

    • /std:c++latest также управляет удалением следующих старых функций: N4190 "Удаление auto_ptr, random_shuffle(), И старый <функциональный> материал", P0004R1 "Удаление устаревших псевдонимов Iostreams", LWG 2385 "function::assign allocator argument не имеет смысла", а также различные нестандартные функции (пространство имен std::tr1, некоторые механизмы только для TR1 и структуру std::identity).

    • Неумолимый неправильный кодеген в атомарных<int64_t/атомарных<uint64_t>> на x86 был исправлен.

    • STL старается не использовать потокобезопасную "магическую статику" за исключением случаев, где она абсолютно нужна, что улучшает создаваемый код.

    • Конструктор точной пересылки кортежа теперь старается не вытеснять конструктор копирования, что позволяет избежать ошибок компиляции в определенных ситуациях.

  • Сопрограммы

    • Не рекомендуется использовать следующие ключевые слова: __yield_value и __await ключевые слова. Вместо этого используйте co_await / co_yield.
    • В элементы to_address и from_promise класса coroutine_handle добавлено уведомление об устаревании. Вместо coroutine_handle::to_address() используйте coroutine_handle::address().
    • Вместо coroutine_handle::from_promise(Promise *P) используйте coroutine_handle::from_promise(Promise &P).
  • Улучшена производительность следующих параметров: std::equal и std::lexicographical_compare путем более активной диспетчеризации в memcmp и memchr, что привело к существенному повышению производительности в некоторых ситуациях. Например: equal(char,char,char, char) в 64-разрядных платформах.

    • Производительность сборок для отладки существенно улучшилась благодаря уменьшению числа вызовов функции регистрации в нашем итерационном механизме отладки.
    • string::p ush_back улучшила еще 40 % и обновление 2 в сборках выпусков с более значительным улучшением в сборках отладки. (Это улучшение дополняет существенное повышение производительности в обновлении 2.)
    • Сборки для отладки существенно улучшились для всех стандартных алгоритмов за счет исключения нескольких типов вызовов для поддержки пустых шаблонов метапрограммирования (например, _Iter_cat) для всех алгоритмов, использующих предикаты, путем уменьшения числа копий предиката.
    • std::mismatch в _ITERATOR_DEBUG_LEVEL 1 и 2 путем проверки второго диапазона перед итерацией, где это возможно.
  • Улучшена диагностика для сообщений _SCL_INSECURE_DEPRECATE для оставшихся алгоритмов (в обновлении 2 с новым механизмом устаревания было связано лишь небольшое число алгоритмов). Это также способствует улучшению отладки для стандартных алгоритмов, так как больше не существует никаких взаимодействий препроцессора _ITERATOR_DEBUG_LEVEL, которые объявляют несколько копий стандартных алгоритмов. Мы также устранили следующие проблемы.

    • Исправлена невозможность компиляции некоторых функций, таких как mismatch(iter, iter, T[]), из-за взаимодействия между нашим нестандартным алгоритмом _ITERATOR_DEBUG_ARRAY_OVERLOADS и алгоритмом с двойным диапазоном.
  • Исправлены нарушения отключенного по умолчанию предупреждения C4242 в STL.

  • Исправлена возможная ошибка переполнения для целых чисел в std::pop_heap.

  • Исправлено потенциальное зависание /clr:pure из-за вставленных в CLR вызовов LoadLibrary при блокировке языкового стандарта.

Отладка C++/CLI

  • Оценщик выражений C++/CLI теперь поддерживает функции отладчика (например, Natvis), которые раньше поддерживались только для полностью нативных приложений. Теперь, когда объекты в смешанном управляемом нативном приложении отображаются в окне переменных (или в виде совета), они будут развернуты так же, как в полностью нативном приложении в соответствии с визуализаторами типов.

cpp-cli-debug

Набор средств платформы Clang/C2

Мы интегрировали Clang 3.8 в Clang и C2 и предоставили размещаемый 64-разрядный набор средств.

C++ MDD

Мы обеспечили поддержку последней версии Android NDK R11C и добавили возможность обновления текущих проектов до последней версии NDK.

TypeScript

Visual Studio 2015 с обновлением 3 включает TypeScript 1.8.34. Исправлена ошибка нехватки памяти в некоторых крупных проектах TypeScript, которые используют AngularJS.

C# и Visual Basic

Уменьшен используемый объем памяти и повышена производительность диагностики кода. Это позволит уменьшить количество сбоев из-за нехватки памяти в предыдущих выпусках. Мы улучшили производительность диагностики кода в рамках всего решения. Дополнительные сведения о повышении производительности диагностики кода описаны на странице Практическое руководство. Включение и отключение анализа всего решения для управляемого кода на сайте MSDN.

К дополнительным улучшениям относятся следующие.

  • Параметр для добавления ссылки на пакет NuGet, добавленный в качестве небольшого исправления:

nuget-bulb

  • Этот параметр можно включить в текстовом редакторе > параметров > инструментов > C# > дополнительно в разделе "Директивы using":

plugin-byid

  • Улучшена поддержка переносимых библиотек классов для различных версий платформы .NET Standard.
  • Повышена производительность возможностей C# "Перейти к" и "Найти все ссылки". Вы можете использовать эти возможности, выбрав объект, щелкнув его правой кнопкой мыши и выбрав возможность в меню.
  • При применении действия "Исправить все" к документу, проекту или решению теперь будет отображаться индикатор хода выполнения.
  • Повышена производительность при перезагрузке проектов C# и VB в крупных решениях. Дополнительные сведения и советы см. в статье Рекомендации по производительности для крупных решений.

Team Explorer

Исправлено несколько ошибок в Team Explorer:

  • Не удалось просмотреть содержимое файла, удаленного из репозитория Git.
  • При просмотре журнала ветви значок "Перейти к дочернему объекту" должен быть отключен, если в фокусе находится последняя фиксация.
  • При смене ветвей с помощью Git.exe может произойти сбой Visual Studio или его переход в неизвестное состояние.
  • При просмотре журнала ветви в репозитории Git в графике журнала могут возникать ошибки выделения.
  • При создании ветви в Team Explorer клавиши ALT+B для кнопки "Создать ветвь" конфликтуют с меню "Сборка".
  • При попытке распаковки объекта, превышающего доступную память, Git дает ошибку "Объект не найден - не соответствует свободному объекту (<sha1>)" вместо ошибки без памяти.
  • Опечатка в сообщении об ошибке "... Чтобы открыть это решение..."
  • При просмотре журнала ветви и щелчка правой кнопкой мыши первой сборки в журнале выборочный отбор отключен.
  • При создании запроса на включение внесенных изменений из Team Explorer в контекстном меню на странице ветвей используется текущая ветвь вместо выбранной.

Xamarin для Visual Studio

Visual Studio 2015 с обновлением 3 теперь включает Xamarin 4.1. В дополнение к ряду исправлений ошибок этот выпуск добавляет поддержку для tvOS, улучшает поддержку ресурсов iOS, улучшает возможности редактирования XML и добавляет селекторы для реализации SSL/TLS и HttpClient при создании приложений iOS. Дополнительные сведения см. в заметках о выпуске Xamarin.