Что нового в Visual Studio 2015 Preview?

Сегодня мы рады сообщить вам о выпуске следующей версии Visual Studio. Благодаря таким функциям, как кроссплатформенная разработка в C++, новая платформа компилятора .NET с открытым исходным кодом, поддержка C++11 и C++14, инструменты Apache Cordova и ASP.NET 5, Visual Studio 2015 Preview позволяет достичь значительных результатов.

Скачать Visual Studio 2015 Preview

Это обновление демонстрирует новые функциональные возможности и значительные усовершенствования Visual Studio 2015:

Скачать Visual Studio 2015 Preview

Новое в Visual Studio 2015 Preview

Visual Studio:

Другие изменения:

Кроме того, вы можете скачать некоторые продукты Visual Studio 2015 Preview, например:

Дополнительную информацию об этих выпусках см. ниже в разделе Связанные выпуски.

Свяжитесь с группами технических специалистов Майкрософт

Подключитесь к более чем 50 техническим лекциям, доступным по запросу

Еще больше погрузитесь технические детали Visual Studio 2015 Preview и узнайте еще больше, подключившись к более чем 50 техническим лекциям, доступным по запросу в разделе Connect().

Visual C++ для кроссплатформенной разработки для мобильных устройств

Вы можете использовать Visual Studio для предоставления общего доступа, многократного использования, сборки, развертывания и отладки своего кроссплатформенного мобильного кода. Создавайте проекты из шаблонов для приложений Android Native Activity или для библиотек общего кода, которые вы можете использовать на нескольких платформах и в приложениях Xamarin, предназначенных для устройств Android. Воспользуйтесь технологией IntelliSense для конкретных платформ, чтобы изучать API и создавать правильный код для целевых решений Android или Windows. Настраивайте свою сборку для 32-разрядных (x86) платформ или платформ на основе архитектуры ARM. Развертывайте код на подключенных устройствах Android или используйте высокопроизводительный эмулятор Android от корпорации Майкрософт для тестирования. Задавайте точки останова, контролируйте переменные, просматривайте стек, а также выполняйте пошаговую проверку кода с помощью отладчика Visual Studio. Средство просмотра LogCat отображает журнал сообщений с устройства Android. Используйте общий код для нескольких платформами приложений, кроме кода, предназначенного для конкретной платформы, и создавайте их с помощью одного решения в Visual Studio.

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

Ранее известные как гибридные приложения для нескольких устройств для Visual Studio, инструменты Visual Studio для Apache Cordova позволяют с легкостью выполнить сборку, отладку и тестирование кроссплатформенных приложений, предназначенных для устройств Android, iOS, Windows и Windows Phone, из одного простого проекта Visual Studio. Узнайте подробности здесь.

Все функции, доступные в CTP-версии 3, теперь также доступны в Visual Studio 2015 Preview, включая следующие усовершенствования по сравнению с CTP-версией 2:

  • Обновление при сохранении для Ripple - не нужно повторять сборку!
  • Отлаживайте версию своего приложения для iOS из Visual Studio при его развертывании на имитатор iOS или подключенное устройство Mac.
  • Усовершенствованная система безопасности и упрощенная процедура настройки для агента удаленной сборки iOS.
  • Усовершенствованное управление подключаемыми модулями, которое включает в себя возможность добавить в свой проект пользовательские подключаемые модули из Git или файловой системы.
  • Выбирайте параметры конфигурации для конкретных платформ, используя усовершенствованный конструктор config.xml.
  • Поддержка Apache Cordova 4.0.0.

Эмулятор Visual Studio для Android

Вы можете воспользоваться эмулятором Visual Studio для Android в кроссплатформенном проекте в Visual Studio (Xamarin или C++) или в инструментах Visual Studio для Apache Cordova. Эмулятор позволяет переключаться между различными эмуляторами платформ без конфликтов Hyper-V. Он поддерживает GPS и координаты, акселерометр, вращение экрана, масштабирование, SD-карты и доступ к сети. Узнайте больше об эмуляторе Visual Studio для Android.

C++

В этом выпуске компилятор и стандартная библиотека C++ были обновлены - улучшена поддержка для C++11 и добавлена начальная поддержка определенных функций C++14. Они также включают в себя предварительную поддержку определенных функций, ожидаемых в стандартной версии C++17.

Кроме того, было исправлено более 400 ошибок компилятора, включая 179 ошибок, переданных пользователями Visual Studio через веб-сайт Microsoft Connect. Спасибо!

Функции языка

  • Сжатые циклы For, основанные на диапазоне. В циклах For, основанных на диапазоне, теперь можно опустить описатель типа элемента. Сжатая форма for(widget : widgets) {…} эквивалентна более длинной форме C++11 for(auto&& widget : widgets) {…}. Предлагается для C++17 [N3994].
  • Возобновляемые функции (resume/await). Ключевые слова resume и await обеспечивают поддержку на уровне языка для асинхронного программирования и включают возобновляемые функции. На данный момент эта функция доступна только для 64-разрядных (x64) целевых решений. Предлагается для C++17 [N3858].
  • Общие (полиморфные) лямбда-выражения. Типы параметров лямбда-функций теперь можно задавать с помощью auto. В этом контексте компилятор интерпретирует auto таким образом, что оператор вызова функции замыкания является шаблоном функции-члена, и что каждое использование auto в лямбда-выражении соответствует отдельному параметру-типу шаблона. C++14
  • Обобщенные лямбда-выражения захвата. Также известны как init-capture. Результат произвольного выражения теперь можно назначать переменной в предложении захвата лямбда-выражения. Это позволяет типам только для перемещения быть захваченными значениями, и позволяет лямбда-выражению определять произвольные элементы данных в своем объекте замыкания. C++14
  • Двоичные литералы. Двоичные литералы теперь поддерживаются. Такие литералы имеют префикс 0B или 0b и состоят только из цифр 0 и 1. C++14
  • Выведение возвращаемого типа. Теперь может выводиться возвращаемый тип обычных функций, включая функции с несколькими операторами return и рекурсивные функции. Таким определениям функций предшествует ключевое слово auto как в определениях функций с завершающим возвращаемым типом, но при этом завершающий возвращаемый тип опускается. C++14
  • decltype(auto). Выведение типа с помощью ключевого слова auto для выражений инициализации отделяет ref-квалификаторы и cv-квалификаторы высшего уровня из выражения. decltype(auto) сохраняет ref- и cv-квалификаторы и теперь может использоваться везде, где может использоваться auto, кроме введения функции с выводимым или завершающим возвращаемым типом. C++14
  • Неявное создание специальных функций-членов move. Конструкторы и операторы присваивания move теперь создаются неявно, когда позволяют условия, приводя таким образом компилятор в полное соответствие со ссылками rvalue C++11. C++11
  • Наследование конструкторов. Производный класс теперь может указывать, что он будет наследовать конструкторы своего базового класса (Base), включив в свое определение оператор using Base::Base;. Производный класс может наследовать только все конструкторы своего базового класса. Невозможно наследовать только определенные базовые конструкторы. Производный класс не может наследовать из нескольких базовых классов, если в них есть конструкторы, которые имеют одинаковую сигнатуру. Производный класс также не может определять конструктор, который имеет одинаковую сигнатуру с одним из своих наследуемых конструкторов. C++11
  • Запрос и контроль выравнивания. Выравнивание переменной можно запрашивать с помощью оператора alignof(), а контролировать - с помощью описателя alignas(). alignof() возвращает байтовую границу, по которой должны быть выделены экземпляры типа; для ссылок он возвращает выравнивание типа, на который есть ссылки, а для массивов - выравнивание типа элементов. alignas() контролирует выравнивание переменной; он принимает константу или тип, где тип является сокращением для alignas(alignof(type)). C++11
  • Расширенный sizeof. Размер переменной-члена класса или структуры теперь можно определять без экземпляра класса или структуры с помощью sizeof(). C++11
  • constexpr. Частичная поддержка constexpr C++11. На данный момент отсутствует поддержка агрегатной инициализации и передачи или возврата типов класс-литерал. C++11 (частично)
  • Пользовательские литералы (UDL). Теперь можно добавлять осмысленные суффиксы к числовым и строковым литералам, чтобы придать им определенную содержательность. Компилятор интерпретирует литералы с суффиксами как вызовы к соответствующему UDL-оператору. C++11
  • "Волшебные" потокобезопасные статические переменные. Статические локальные переменные теперь инициализируются потокобезопасным способом, устраняя потребность выполнять синхронизацию вручную. Потокобезопасной является только инициализация, при использовании статических локальных переменных несколькими потоками их по-прежнему нужно синхронизировать вручную. Функцию потокобезопасных статических переменных можно отключить с помощью флага /Zc:threadSafeInit-, чтобы избежать зависимости от CRT. C++11
  • Локальное хранилище данных потока. Используйте ключевое слово thread_local для объявления о том, что для каждого потока необходимо создавать независимый объект. C++11
  • noexcept. Оператор noexcept теперь можно использовать, чтобы проверить возможность порождения исключения выражением. Описатель noexcept теперь можно использовать, чтобы указать, что функция не порождает исключения. C++11
  • Встроенные пространства имен. Пространство имен теперь можно указывать как встроенное, чтобы помещать его содержимое во вложенное пространство имен. Встроенные пространства имен можно использовать для создания версионных библиотек, которые предоставляют свою последнюю версию по умолчанию, при этом предыдущие версии API остаются явно доступными. C++11
  • Неограниченные объединения. Тип объединения теперь может содержать типы с нетривиальными конструкторами. Для таких объединений необходимо определить конструкторы. C++11
  • Новые типы знаков и литералы Юникода. Теперь поддерживаются знаковые и строковые литералы в кодировке UTF-8, UTF-16 и UTF-32, а также введены новые типы знаков char16_t и char32_t. К знаковым литералам может добавляться префикс u8 (UTF-8), u (UTF-16) или U (UTF-32), как в U'a', а к строковым литералам может дополнительно добавляться префикс из эквивалентов необработанных строк u8R (необработанная строка UTF-8), uR (необработанная строка UTF-16) или UR (необработанная строка UTF-32). Универсальные имена знаков могут свободно использоваться в литералах Юникода, как в u'\u00EF', u8"\u00EF" - "i" и u"\U000000ef" - "I". C++11
  • __func__. Предопределенный идентификатор __func__ неявно определен как строка, содержащая неквалифицированное и недополненное имя включающей функции.
  • __restrict. __restrict теперь можно применять к ссылкам.

Функции библиотек

  • Пользовательские литералы (UDL) для типов стандартных библиотек. Теперь для вашего удобства заголовки <chrono>, <string> и <complex> предоставляют UDL-операторы. Например, 123ms обозначает std::chrono::milliseconds(123), "hello"s обозначает std::string("hello"), а 3.14i обозначает std::complex(0.0, 3.14).
  • Нулевые итераторы пересылки. Стандартная библиотека теперь позволяет создавать итераторы пересылки, которые не ссылаются на экземпляр контейнера. Такие итераторы инициализируются значением и сравниваются на равенство для определенного типа контейнера. Сравнение итератора, который инициализируется значением, с тем, который не инициализируется значением, не определено. C++14
  • quoted(). Стандартная библиотека теперь поддерживает функцию quoted(), что упрощает работу со значениями строк в кавычках и с операциями ввода-вывода. Благодаря quoted() вся строка в кавычках рассматривается как единая сущность (так как строки знаков, отличных от пробельных, находятся в потоках ввода-вывода). Кроме того, escape-последовательности сохраняются с помощью операций ввода-вывода. C++14
  • Разнородный ассоциативный поиск. Стандартная библиотека теперь поддерживает функции разнородного поиска для ассоциативных контейнеров. Эти функции позволяют выполнять поиск по типам, отличным от key_type, пока тип сравним с key_type. C++14
  • Последовательности целых чисел во время компиляции. Стандартная библиотека теперь поддерживает тип integer_sequence, который представляет собой последовательность из целых значений, которые можно оценить во время компиляции, чтобы упростить работу с пакетами параметров и определенные шаблоны программирования. C++14
  • exchange(). Стандартная библиотека теперь поддерживает служебную функцию std::exchange(), чтобы присвоить объекту новое значение и вернуть свое старое значение. В сложных типах exchange() предотвращает копирование старого значения, когда доступен конструктор move, предотвращает копирование нового значения, если оно временное и перемещается, и принимает любой тип как новое значение, пользуясь любым преобразующим оператором присваивания. C++14
  • Двухдиапазонные equal(), is_permutation(), mismatch(). Стандартная библиотека теперь поддерживает перегрузки для std::equal(), std::is_permutation() и std::mismatch(), которые принимают два диапазона. Эти перегрузки проверяют, чтобы две последовательности были одинаковой длины, что снимает ответственность за это с вызывающего кода. Для последовательностей, которые не поддерживают требования случайного итератора, эти перегрузки проверяют длину, сравнивая элементы, что более эффективно. C++14
  • get<T>(). Стандартная библиотека теперь поддерживает функцию-шаблон get<T>(), что позволяет направлять элементы кортежа по их типу. Если кортеж содержит два или более элементов одного типа get<T>(), кортеж не может направляться по такому типу, но другие элементы уникальных типов все еще могут направляться. C++14
  • tuple_element_t. Стандартная библиотека теперь поддерживает псевдоним типа tuple_element_t<I, T>, который является псевдонимом для имени типа tuple_element<I, T>::type. Это несколько облегчает работу программистов, создающих шаблоны, по аналогии с другими псевдонимами типов метафункций в <type_traits>.  C++14
  • Техническая спецификация файловой системы "V3" Включаемая реализация технической спецификации файловой системы обновлена до версии 3. [N3940].
  • Минимальные распределители. Стандартная библиотека теперь поддерживает минимальный интерфейс распределителей. К важным исправлениям относятся std::function, shared_ptr, allocate_shared() и basic_string. C++11
  • <chrono.> Были исправлены chrono-типы high_resolution_clock и steady_clock. C++11

Ускоренная сборка

  • Последовательное создание кода во время компоновки (LTCG). Последовательную компоновку теперь можно использовать вместе с LTCG, что позволяет сократить время компоновки приложений с использованием LTCG. Активируйте данную функцию, воспользовавшись ключами компоновщика /LTCG:incremental и /LTCG:incremental_rebuild. \
  • Последовательная компоновка для статических библиотек. Изменения в статических библиотеках, на которые ссылаются другие модули кода, теперь компонуются последовательно.
  • /Debug:FastLink значительно сокращает время компоновки, используя новые способы создания PDB.
  • Для сокращения времени компоновки в компоновщике были сделаны улучшения алгоритма.
  • Были внесены улучшения, которые позволят быстрее создавать объемный код шаблона.
  • Инструментарий быстрой профильной оптимизации (PGO). Теперь в PGO представлен новый упрощенный режим инструментария для игр и систем реального времени. Благодаря ключам компоновщика /GENPROFILE и /FASTGETPROFILE теперь вы можете сбалансировать качество и скорость создания кода при использовании PGO, а также воспользоваться другими новыми функциями.
  • Сокращение размера файлов объектов. Усовершенствования компилятора и стандартной библиотеки C++ значительно сократили размер файлов объектов и статических библиотек. Данные усовершенствования не влияют на размер библиотек динамической компоновки (DLL-файлов) и выполняемых файлов (EXE-файлов), так как избыточный код традиционно удаляется компоновщиком.

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

  • Улучшения автоматической векторизации. Теперь добавлена векторизация управления потоком (if-then-else), векторизация при компиляции с параметром /O1 (минимизировать размер) и улучшение общего качества векторного кода, включая поддержку Parallel STL, векторизацию большего числа циклов for, основанных на диапазоне, а также поддержку цикла for #pragma (ivdep).
  • Улучшенная оптимизация скалярных операций. Более эффективное создание кода операций поразрядной проверки, объединение и оптимизация управления потоком (переключение loop-if), а также другие оптимизации скалярных операций (например, более эффективное создание кода для std::min и std::max).
  • Профильная оптимизация (PGO). В PGO внесен ряд усовершенствований, включая улучшенные наборы ссылок, более широкие возможности компоновки данных и возможность повторного использования ранее принятых решений относительно встраивания, соотношения скорости и размера, а также компоновки.

Производительность, отладка и диагностика

Мы добавили поддержку рефакторинга для C++ со следующими функциями:

  • Переименование символа. Заменяет все вхождения символа новым именем.
  • Извлечение функции. Перемещение выбранного кода в отдельную функцию. Этот рефакторинг доступен как расширение к Visual Studio в  коллекции Visual Studio.
  • Реализация "чистых" виртуальных функций. Создает определения функций для "чистых" виртуальных функций, наследованных классом или структурой. Поддерживается множественное и рекурсивное наследование. Активируйте этот рефакторинг из наследуемого определения класса, чтобы реализовать все наследованные "чистые" виртуальные функции, или из описателя базового класса, чтобы реализовать "чистые" виртуальные функции только из этого базового класса.
  • Создание объявления или определения. Создает объявление из существующего определения или определение по умолчанию из существующего объявления. Получите доступ к данному рефакторингу из существующего объявления, определения или индикатора с изображением лампочки.
  • Определение функции move. Перемещает текст функции между исходным кодом и файлами заголовков. Активируйте этот рефакторинг из сигнатуры функции.
  • Преобразование в необработанный строковый литерал. Преобразовывает строку, содержащую escape-последовательности, в необработанный строковый литерал. Поддерживаемые escape-последовательности: \n (новая строка), \t (табуляция), \' (одинарная кавычка), \" (двойная кавычка) и \? (вопросительный знак). Активируйте данную функцию, щелкнув правой кнопкой мыши в любом месте внутри строки.

Вот какие усовершенствования базы данных программы (PDB) были сделаны:

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

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

Улучшение читаемости IntelliSense. Упрощено создание экземпляров сложных шаблонов и определения типов в элементах help и quickinfo параметра, чтобы их было легче читать.

Визуализации отладчика

Добавляйте визуализации отладчика Natvis в свой проект Visual Studio, чтобы упростить управление и обеспечить интеграцию системы управления версиями. Файлы Natvis, добавленные в проект, имеют приоритет над визуализаторами Natvis за пределами проекта. Дополнительную информацию см. в разделе Создание пользовательских представлений исходных объектов в отладчике.

Диагностика внутренней памяти

  • Сеансы диагностики памяти. Нажатие клавиш Alt+F2 позволяет вам отслеживать текущее использование памяти в локальном приложении.
  • Снимки памяти позволяют записать моментальный образ содержимого кучи вашего приложения. Различия в состояниях кучи можно изучить, сравнив два снимка памяти. Просматривайте типы объектов, значения экземпляров и стеки вызовов выделения для каждого экземпляра после остановки приложения.

Улучшенное обнаружение взаимоблокировок и восстановление при вызове функций C++ из окон контрольных значений и интерпретации.

Усовершенствованная диагностика компилятора. Компилятор предоставляет улучшенные предупреждения о подозрительном коде. Добавлены новые предупреждения (например, теневые переменные и несовпадающие строки в формате printf). Существующие предупреждающие сообщения стали более понятными.

Флаг /Wv. Предупреждения, установленные определенной версией компилятора XX.YY.ZZZZ, можно отключать с помощью флага /Wv:XX.YY.ZZZZ. Вы можете намеренно отключить другие предупреждения в дополнение к тем, которые указаны с помощью флага /Wv.

Усовершенствованная поддержка отладки оптимизированного кода. Выполните отладку кода, включив флаги /Zi, /Zo или /Z7.

Диагностика графики

Вот какими функциями была усовершенствована диагностика графики:

  • Последовательный захват. Снимайте до 30 последовательных кадров с помощью одного захвата.
  • Программный захват. Запускайте захват кадров программным путем. Программный захват особо удобен для отладки вычислительных шейдеров в программах, которые никогда не вызывают Present, или в тех случаях, когда ошибку обработки сложно захватить вручную, но можно спрогнозировать программным путем по состоянию приложения в среде выполнения.
  • Усовершенствованный список событий графики. Добавлено новое представление вызовов draw, которое отображает захваченные события и их состояние в иерархии, организованной вызовами draw. Вы можете развернуть вызовы draw, чтобы отобразить состояние устройства, которое было текущим во время вызова draw, а также вы можете дальше развернуть каждый вид состояния, чтобы отобразить события, устанавливающие их значения.
  • Поддержка Windows Phone 8.1. Диагностика графики теперь полностью поддерживает отладку приложений Windows Phone 8.1 в эмуляторе Phone или на связанном устройстве Phone.
  • Анализ кадров графики. Этот инструмент собирает измерения производительности по захваченным кадрам. Кроме того, он выполняет ряд предварительно определенных экспериментов, которые дают понять, какое влияние на производительность оказывает применение различных текстурных приемов. При анализе кадров также собираются показатели счетчиков производительности с оборудования.
  • Выделенный пользовательский интерфейс для анализа графики. Новое окно анализатора графики Visual Studio является выделенной рабочей областью для анализа кадров графики.
  • Редактирование и применение шейдера. Следите за влиянием изменений кода шейдера в сохраненном журнале без перезапуска приложения.
  • Настройте параметры захвата в меню "Tools->Options->Graphics Diagnostics" (Сервис -> Параметры -> Диагностика графики).
  • Программа командной строки для захвата и воспроизведения кадров.

Новый инструмент GPU Usage

Можно воспользоваться инструментом GPU Usage в Visual Studio 2015 Preview, чтобы понять, как используется графический процессор в приложениях DirectX. Во время выполнения приложений доступны графики "Frame Time" (Время кадра), "Frame Rate" (Частота кадров) и "GPU Utilization" (Использование графического процессора). Кроме того, собирая и анализируя подробные данные об использовании графического процессора, этот инструмент может сообщить время выполнения центральным и графическим процессорами отдельных событий DirectX, что позволяет определить, ограничивает ли один из этих процессоров производительность.

C# и Visual Basic

Функции языка

В этом выпуске некоторые новые функции языков C# и Visual Basic помогают уменьшить количество стандартного и ненужного текста в разрабатываемом коде, содействуют более декларативному стилю программирования и даже сближают эти два языка. Например, внесены синтаксические улучшения в объявления типов и членов и проверку значений NULL. Также можно объявлять локальные переменные внутри выражений, а await может использоваться в блоках catch и finally. Многие из этих функций реализованы в предварительной версии только для одного из двух языков, но в окончательной версии будут доступны для обоих языков.

  • Nameof обеспечивает защищенный от рефакторинга способ получения имени параметра, члена или типа в виде строки.
  • Используя условные операторы NULL, вы можете применять встроенную проверку значений NULL при обращении членам и индексаторам и их вызове.
  • Интерполяция строк. Интерполяция строк позволяет кратко описывать строковые шаблоны, которые вставляют выражения в строки форматирования (C# - только в предварительной версии, VB и C# - в версии RTM).
  • Методы, свойства getter-only и пр. теперь могут иметь одно выражение в качестве основного текста, как и лямбда-выражения.
  • Автосвойства могут иметь инициализаторы и больше не нуждаются в методах задания.
  • Инициализаторы индексов. Теперь вы можете инициализировать определенный индекс нового объекта внутри инициализатора объекта. Только для C#.
  • Фильтры исключений позволяют вам просмотреть исключение и решить, перехватывать ли его с помощью данного блока catch.
  • Используя предложения для статических классов, перенесите их статические члены непосредственно в область, тогда вы сможете: вызывать пример WriteLine() или Sqrt() без добавления префикса с именем класса.
  • Await теперь работает в блоках catch и finally, что позволяет избегнуть непростых обходных путей.

Пользовательский интерфейс редактора кода и редактирование

Процедуры редактирования и взаимодействия с пользовательским интерфейсом редактора кода для C# и Visual Basic были заменены новыми процедурами, основанными на платформе компилятора .NET ("Roslyn"). Многие из любимых вами функций были переработаны и усовершенствованы.

  • В "лампочках" теперь собраны все быстрые действия, которые вы выполняете в редакторе Visual Studio, включая устранение проблем с общим кодом и рефакторинг кода. Если в вашем коде есть проблемы, "лампочка" отображает предлагаемые варианты их исправления. Все операции рефакторинга перемещены в "лампочку", доступ к которой вы можете получить в любой момент, введя Ctrl+<точка>
  • Есть две новые основные операции рефакторинга: Inline temporary variable (Встроить временную переменную) иIntroduce local (Ввести локальную переменную). Вот пример новой функции Introduce local (Ввести локальную переменную):

    Лампочка

    И пример Inline temporary variable (Встроить временную переменную):

    Лампочка
  • Была впервые добавлена поддержка рефакторинга для Visual Basic, а также она перенесена в "лампочку".
  • Также усовершенствовано переименование. Теперь выделяются все экземпляры идентификатора, которые вы хотите переименовать, что позволяет ввести в редакторе новое имя для всех экземпляров одновременно.

    Усовершенствования встроенного переименования
  • Вы можете использовать динамический анализ кода и автоматическое исправление ошибок по мере ввода, сопровождаемое конкретными советами с учетом кода для платформ Майкрософт и пакетов NuGet, на которые вы ориентируетесь. В предварительной версии необходимо добавить динамические анализаторы FxCop через пакет NuGet, который можно получить в галерее NuGet, как и любой другой пакет. Когда вы добавляете какое-либо из данных динамических правил, оно вытесняет эквивалентное правило FxCop, следующее за сборкой, поэтому дублирования не происходит. Пакеты NuGet можно найти в шаблонах пакетов SDK для платформы компилятора .NET и в визуализаторе синтаксиса Roslyn.

    Вот пример из пакета анализа кода для Azure.

    Пример из пакета анализа кода для Azure
  • Вычислитель выражений для C# и Visual Basic был переписан. Усовершенствования включают в себя поддержку LINQ и лямбда-выражений в окнах контрольных значений и интерпретации.

среда .NET Framework 4,6

Последняя версия .NET Framework - 4.6. В предварительном выпуске в некоторых местах номер версии еще может отображаться как 4.5.3. До поставки финальной версии он будет заменен на 4.6.

Изменения библиотеки базовых классов

Мы добавили много новых API, чтобы включить ключевые сценарии, в особенности кроссплатформенные сценарии. Вот какие изменения и дополнения были сделаны:

  • Новые API шифрования, такие как AsymmetricAlgorithm.KeyExchangeAlgorithm, AsymmetricAlgorithm.SignatureAlgorithm и System.Security.Cryptography.X509Certificates.X509Certificate.
  • В дополнительных коллекциях реализуется System.Collections.ObjectModel.ReadOnlyCollection, включая System.Collections.Generic.Queue и System.Collections.Generic.Stack.
  • Дополнительные члены для поддержки асинхронного шаблона на основе задач (TAP), включая Task.CompletedTask и NamedPipeClientStream.ConnectAsync.

Поддержка кодировок на основе кодовой страницы

.NET Core в первую очередь поддерживает кодировки Юникод и по умолчанию обеспечивает ограниченную поддержку для кодировок на основе кодовой страницы. Вы можете добавить поддержку для кодировок на основе кодовой страницы, которые доступны на платформе .NET Framework, но не поддерживаются в .NET Core, выполнив регистрацию этих кодировок с помощью метода Encoding.RegisterProvider. Дополнительную информацию см. в описании CodePagesEncodingProvider.

Усовершенствования трассировки событий

Теперь можно напрямую построить объект EventSource, и вы можете вызвать один из методов Write() для вывода события с самоописанием.

Изменение размеров в элементах управления Windows Forms

Эта функция была расширена и теперь включает в себя типы System.Windows.Forms.DomainUpDown, System.Windows.Forms.NumericUpDown, System.Windows.Forms.DataGridViewComboBoxColumn, System.Windows.Forms.DataGridViewColumn и System.Windows.Forms.ToolStripSplitButton. 
Это включаемая функция. Чтобы включить ее, в файле конфигурации приложения (app.config) установите для элементаEnableWindowsFormsHighDpiAutoResizing значение true.

64-разрядный JIT-компилятор для управляемого кода

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

Поддержка преобразования DateTime в формат времени Unix и обратно

Добавлены новые методы для поддержки преобразования DateTime в формат времени Unix и обратно. В DateTimeOffset добавлены такие API:

  • static DateTimeOffset FromUnixTimeSeconds(long seconds)
  • static DateTimeOffset FromUnixTimeMilliseconds(long milliseconds)
  • long ToUnixTimeSeconds()
  • long ToUnixTimeMilliseconds()

Привязка моделей ASP.NET поддерживает методы, возвращающие задачи

Методы привязки моделей ASP.NET ранее не поддерживали возвращение задач и выдавали исключение в среде выполнения, в зависимости от настроек. Если приложения развертываются с использованием таких методов, то теперь они будут выполняться корректно. Это изменение касается только приложений, специально разработанных для .NET 4.6 или более поздней версии.

Поддержка канала для управляемого инструментария EventSource

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

Улучшения загрузчика сборок

Загрузчик сборок теперь эффективнее использует память, выгружая сборки IL после загрузки соответствующего образа NGEN. Это изменение сокращает использование виртуальной памяти, что особенно полезно для больших 32-разрядных приложений (таких как Visual Studio), а также экономит физическую память.

Entity Framework;

Этот выпуск содержит предварительную версию Entity Framework 7 и обновление Entity Framework 6, в которое в основном вошли исправления и предложения участников сообщества. Дополнительную информацию см. в разделеVisual Studio 2015 Preview and Entity Framework (Visual Studio 2015 Preview и Entity Framework).

Entity Framework 7

Новая версия Entity Framework позволяет работать с новыми платформами и хранилищами данных. Приложения Windows Phone, Магазина Windows, ASP.NET 5 и классические приложения теперь могут использовать Entity Framework. Эта версия платформы поддерживает реляционные базы данных, а также нереляционные хранилища данных, такие как табличное хранилище Azure и Redis. В него входит предварительная версия среды выполнения EF7, которая установлена в новых проектах ASP.NET 5. Дополнительную информацию о EF7 см. в разделе What is EF7 all about (Что означает EF7).

Entity Framework 6.x

В этот выпуск включена бета-версия EF6.1.2-beta1 среды выполнения и инструментов. В версию EF6.1.2 вошли исправления и предложения участников сообщества. Вы можете просмотреть список изменений, которые вошли в EF6.1.2, на нашем сайте CodePlex Entity Framework. 

Среда выполнения Entity Framework 6.1.1 включена в несколько позиций в данном выпуске.

  • Среда выполнения будет установлена, если вы создадите новую модель, используя инструменты Entity Framework, в проекте, в котором еще не установлена среда выполнения EF.
  • Среда выполнения предварительно устанавливается в новые проекты ASP.NET, в зависимости от выбранного вами шаблона проекта.

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

Общие проекты

В данном выпуске доступны новые шаблоны для создания пустых общих проектов для Visual Basic, C# и JavaScript. Теперь на эти общие проекты может ссылаться несколько типов проектов:

  • Любые стандартные проекты VB или C# (например, консольные приложения, библиотеки классов, приложения Win Forms).
  • Проекты для Магазина Windows 8.1 и Windows Phone 8.1 (VB, C#, JavaScript).
  • Проекты для Windows Phone Silverlight 8.0 или 8.1 (VB, C#).
  • WPF и PCL.

Вы можете добавлять или удалять ссылки на общие проекты, используя диспетчер ссылок на вкладке "Shared Projects" (Общие проекты). Ссылка на общий проект отображается в узле "References" (Ссылки) в обозревателе решений, но код и ресурсы в общем проекте обрабатываются как файлы, связанные с основным проектом.

Редактор кода (все языки)

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

  • Прокрутка (коснитесь и перетащите по поверхности редактора, используя стандартные и улучшенные полосы прокрутки).
  • Масштабирование жестом сведения.
  • Чтобы выбрать всю строку, коснитесь края редактора, а чтобы выбрать отдельные слова, дважды коснитесь этих слов.
  • Нажмите и удерживайте, чтобы вызвать контекстное меню редактора.

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

Конструктор XAML

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

Пользовательские макеты окон

Теперь вы можете сохранять пользовательские макеты окон, щелкнув "Save Window Layout" (Сохранить макет окна) в меню "Window" (Окно). Чтобы применить макет окна, в меню Window (Окно) щелкните Apply Window Layout(Применить макет окна). Вы также можете применять макеты, используя предварительно назначенные сочетания клавиш. Для первых девяти макетов также назначены сочетания клавиш от Ctrl+Alt+1 до Ctrl+Alt+9. Еще вы можете удалять и переименовывать макеты, а также изменять их порядок. Для этого щелкните "Manage Window Layout" (Управление макетом окна) в меню "Window" (Окно).

Поддержка JSDoc

Комментарии по документации, написанные с использованием формата JSDoc, теперь поддерживаются редактором и отображаются при использовании IntelliSense. Здесь вы можете ознакомиться с комментариями JSDoc.

Значки высокого разрешения

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

Изменения пользовательского интерфейса

  • Меню теперь отображаются в стиле "Заглавные Буквы", а не в стиле "ВСЕ ЗАГЛАВНЫЕ".
  • Значения раскрывающегося списка "Configuration" (Конфигурация) и "Platform" (Платформа) для диалогового окна страницы свойств Visual C++ были изменены таким образом, чтобы при закрытии и повторном открытии страницы свойств запоминался последний выбор пользователя.

Отзывы о Visual Studio

Функция Отправить нахмуренный смайлик была дополнена улучшенными инструментами, позволяющими сообщать о медленной работе, зависаниях и сбоях. Теперь вы можете присоединять к своему отзыву файлы или добавлять теги, чтобы лучше описать проблему. Более того, значки и пункты меню Feedback (Отзыв) были обновлены, чтоб их было проще найти.

Расширяемость Visual Studio

  • Теперь вы можете использовать значки высокого разрешения в расширениях Visual Studio.
  • В этом выпуске больше не поддерживаются надстройки. Шаблоны проектов надстроек Visual Studio и диспетчер надстроек были удалены. Вам нужно преобразовать свои надстройки в расширения VSPackage. Дополнительную информацию см. в разделе Часто задаваемые вопросы. Преобразование надстроек в расширения VSPackage.

Blend

В этом выпуске Blend был модернизирован, и теперь этот инструмент идеально подходит для создания привлекательных пользовательских интерфейсов для приложений XAML. В Blend появилось много новых функций, в том числе:

  • Новый стильный внешний вид, напоминающий Visual Studio, способствует рабочим процессам между двумя продуктами.
  • Новая тема "Dark", являющаяся особенностью Blend, улучшает контрастность между вашим содержимым и пользовательским интерфейсом Blend.
  • XAML IntelliSense.
  • Базовые возможности отладки.
  • Функция обзора в XAML, которая позволяет просматривать и редактировать элементы управления и ресурсы XAML в контексте их использования.
  • Усовершенствованная процедура перезагрузки файлов, позволяющая минимизировать прерывание рабочих процессов, когда вы работаете над своими проектами одновременно в Blend и Visual Studio.
  • Пользовательские макеты окон, которые можно синхронизировать между компьютерами, на которых установлен Blend.
  • Усовершенствованная поддержка обозревателя решений и системы управления версиями.
  • Поддержка NuGet
  • Повышена доступность некоторых областей пользовательского интерфейса Blend, включая меню верхнего уровня, обозреватель решений и Team Explorer.

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

Конфигурация точки останова

Новое окно параметров точек останова позволяет указывать условия и действия для ваших точек останова. В нем улучшена поддержка IntelliSense для условий и действий точек останова. Вы можете воспользоваться функцией отмены (CTRL+Z), чтобы восстановить удаленные точки останова. Дополнительную информацию см. в разделе New Breakpoint Configuration Experience (Новая процедура настройки конфигурации точек останова).

Лямбда-выражения в окнах отладчика

Теперь вы можете использовать лямбда-выражения в окнах контрольных значений, интерпретации и других окнах отладчика в C# и Visual Basic.

PerfTips

Вы можете воспользоваться функцией PerfTips, чтобы увидеть непосредственно в редакторе, сколько времени заняло выполнение кода, когда этот процесс превышает определенные пороговые значения. Дополнительную информацию см. в разделе Dev 14 PerfTips: Performance Information at-a-glance while Debugging with Visual Studio (Dev 14 PerfTips: быстрый просмотр информации о производительности при отладке в Visual Studio).

Инструмент GPU Usage

Вы можете воспользоваться инструментом GPU Usage, чтобы понять, как используется графический процессор в приложениях DirectX. Во время выполнения приложений доступны графики "Frame Time" (Время кадра), "Frame Rate" (Частота кадров) и "GPU Utilization" (Использование графического процессора). Кроме того, собирая и анализируя подробные данные об использовании графического процессора, этот инструмент может сообщить время выполнения центральным и графическим процессорами отдельных событий DirectX, что позволяет определить, ограничивает ли один из этих процессоров производительность.

Усовершенствования в отладчике C++

Когда отладчик C++ останавливается в точках останова, он может выполнять код, чтобы вычислять результаты и отображать данные в окнах контрольных значений и интерпретации. Если отладчик обнаружит, что вызываемая функция заблокирована, он попытается устранить эту проблему.

Теперь, когда отладчик C++ запускает процесс, Windows выделяет память, используя обычную кучу вместо обычной кучи отладки. Это позволяет быстрее запускать отладку. Дополнительную информацию см. в разделе C++ Debugging Improvements in Visual Studio "14" (Усовершенствования отладки C++ в Visual Studio "14").

ASP.NET

Среда выполнения ASP.NET 5 Preview

Этот выпуск Visual Studio поддерживает создание и разработку приложений ASP.NET 5 Preview. ASP.NET 5 Preview - это экономичный составляемый стек .NET для создания современных веб-приложений как для облачных, так и для локальных серверов. Вот какие возможности он включает в себя:

  • ASP.NET MVC и веб-API были унифицированы в единую модель программирования.
  • Применение разработки без компиляции.
  • Основанная на среде конфигурация для незаметного перехода в облако.
  • Готовое внедрение зависимостей.
  • Применяйте NuGet везде, даже в самой среде выполнения.
  • Выполнение в IIS или размещение в собственном процессе.
  • Все открытые источники в .NET Foundation, а также участие в GitHub.
  • ASP.NET 5 работает в среде Windows с .NET Framework или .NET Core.
  • .NET Core - это новая оптимизированная облачная среда выполнения, которая поддерживает параллельное управление версиями.
  • ASP.NET 5 работает в среде OS X и Linux со средой выполнения Mono.

Visual Studio 2015 Preview включает в себя пакеты среды выполнения бета-версии 1 для ASP.NET 5. Вы можете найти всю подробную информацию о добавленных усовершенствованиях и исправлениях в опубликованных заметках о выпуске на портале GitHub.

Функции инструментов ASP.NET 5 Preview

Шаблоны

  • Новые шаблоны проектов библиотеки классов ASP.NET 5 и консольных приложений ASP.NET 5 добавлены в диалоговое окно создания проекта в Visual C# и Visual Web.
  • В шаблонах ASP.NET 5 используется новая структура проекта ASP.NET 5, которая содержит файл конфигурации project.json и KPROJ-файл проекта.
  • Шаблоны проектов ASP.NET 5 поддерживают современный макет проекта. Они создают папку проекта в <solutionFolder>\src. Шаблон веб-проекта ASP.NET 5 также помещает статическое содержимое в папку wwwroot, которая определяется элементом webroot файла project.json.
  • Шаблон ASP.NET 5 Starter Web теперь содержит файл bower.json, который используется с Bower для получения интерфейсных пакетов, package.json, который используется с NPM для получения Grunt, и gruntfile.js для управления задачами, определенными сценариями project.json.
  • Файл project.json шаблона ASP.NET 5 Starter Web содержит сценарии последующего восстановления и подготовки, которые используют npm, grunt и bower для установки необходимых пакетов в проект во время сборки. Он также использует элемент packExclude для определения папок и файлов, которые необходимо исключить при выполнении команды "KPM pack".
  • Шаблон приложения ASP.NET 5 содержит целевые платформы, такие как aspnet50 и aspnetcore50.
  • Если в то же время необходимо создать проект модульного теста, в качестве тестовой платформы веб-шаблон ASP.NET 5 использует Xunit.
  • Шаблоны проектов ASP.NET 5 помещают файл global.json на один уровень с файлом решения, чтобы обеспечить поддержку ссылок между проектами.
  • Шаблон ASP.NET 5 Starter Web использует Code First Migration бета-версии Entity Framework 7.0.0-beta1.

Проекты и сборки

  • В проекте ASP.NET 5 в качестве файла проекта Visual Studio используется файл <имя_проекта>.kproj. KPROJ-файл не включает в себя ни одного файла из текущей или вложенных папок, так как Visual Studio автоматически включает в себя и отслеживает файлы папки проектов ASP.NET 5.
  • Visual Studio использует файл project.json для зависимостей ссылок и пакетов, определений версий, конфигураций платформы, параметров компиляции, событий сборки, метаданных создания пакетов и команд выполнения.
  • В обозревателе решений для веб-приложений ASP.NET 5 есть узел "Dependencies" (Зависимости), который отображает зависимости Bower и NPM. Зависимости Bower находятся в файле bower.json в папке проектов. Зависимости NPM находятся в файле package.json в папке проектов.
  • На узлах "Dependencies" (Зависимости) пакетов Bower и NPM вы можете удалять отдельные пакеты, используя команду контекстного меню, что приведет к автоматическому изменению соответствующего JSON-файла.
  • Узел "References" (Ссылки) в обозревателе решений для веб-приложения ASP.NET 5 отображает все платформы, которые определены в файле project.json.
  • Страница свойств для приложения ASP.NET 5 - это окно инструментов, которое можно использовать для того, чтобы указать конечную версию KRE и определить, создавать ли двоичные файлы и пакеты NuGet при выполнении сборки в Visual Studio.
  • Visual Studio использует обработчик Roslyn для компиляции проектов ASP.NET 5 во время проектирования. Поэтому, когда вы создаете запрос на сборку, ваш проект уже скомпилирован. В выпуске Visual Studio 2015 Preview выходные данные компиляции, полученные во время проектирования, просто передаются в запрос на сборку. Это позволяет избежать повторного процесса сборки и повышает производительность во время сборки, выполнения или отладки проектов ASP.NET 5.
  • Visual Studio поддерживает диспетчер пакетов NuGet и консоль для проектов ASP.NET 5.
  • Visual Studio поддерживает выполнение и отладку тестов Xunit ASP.NET 5 с использованием обозревателя тестов.
  • В Visual Studio интегрирован диспетчер выполнения задач, который можно включить, выбрав в контекстном меню файла gruntfile.js пункт "Task Runner Explorer" (Диспетчер выполнения задач) или используя в Visual Studio пункт меню "View -> Other Windows -> Task Runner Explorer" (Вид -> (Другие окна) -> (Диспетчер выполнения задач)).

IntelliSense и список ошибок

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

Диспетчер пакетов Nuget

  • Диспетчер пакетов Nuget был переписан в виде окна инструментов и отображает отдельно данные для каждого проекта и решения. Каждый проект может одновременно открывать окно диспетчера пакетов NuGet. Это изменение касается всех проектов, использующих диспетчер пакетов Nuget.

Инструменты ASP.NET

Усовершенствования редактора JSON

Мы внесли некоторые усовершенствования в редактор JSON, включая повышение производительности за счет асинхронной загрузки схем JSON, кэширования дочерних схем и улучшенной поддержки IntelliSense. Кроме того, вот какие новые функции были добавлены:

  • Проверка схем JSON. Добавлена функция проверки схем JSON на основе схемы, которая определена в раскрывающемся списке схем.
  • Контекстное меню отмены минификации. Вы можете щелкнуть правой кнопкой мыши в редакторе JSON и выбрать контекстное меню для отмены минификации, чтобы отменить минификацию какого-либо массива Long в JSON-файле.
  • Контекстное меню перезагрузки схем. Visual Studio будет кешировать схему, скачанную из Интернета, и будет использовать этот кэш даже после перезапуска Visual Studio. Если вы знаете, что схема изменилась, то можете воспользоваться командой перезагрузки схем контекстного (Ctrl+Shift+J), чтобы повторно скачать текущую используемую схему в активном JSON-документе, а затем немедленно применить ее к текущему документу.
  • Intellisense для package.json/bower.json. Кроме проверки IntelliSense и файлов package.json и bower.json Visual Studio также обеспечивает работу в реальном времени IntelliSense для пакетов Bower и NPM непосредственно в редакторе JSON.
  • Проверка наличия повторяющихся свойств. Редактор JSON теперь обеспечивает проверку наличия повторяющихся свойств. Это помогает выявить распространенную проблему при создании JSON-файлов.

Усовершенствования редактора HTML

Редактор HTML был усовершенствован: обновлена версия IntelliSense для веб-стандартов, а также реализованы такие новые функции:

  • Улучшенное форматирование шаблона клиента. Редактор HTML больше не анализирует и не форматирует синтаксис с двойными фигурными скобками {{…}}. Это сделано для того, чтобы содержимое с таким синтаксисом не воспринималось как код HTML и, следовательно, не аннулировалось, а также чтобы редактор не пытался отформатировать такое содержимое, так как это невозможно сделать корректно с помощью модуля форматирования HTML. Это очень удобно для Angular, Handlebars, Mustache и других синтаксисов шаблонов с двойными фигурными скобками.
  • Поддержка пользовательских элементов, элементов Polymer и атрибутов. Редактор HTML больше не проверяет неизвестные атрибуты для пользовательских элементов, так как в разных платформах много пользовательских тегов. Больше не будет никаких волнистых линий под неизвестными элементами.
  • Базовые функции IntelliSense для веб-компонентов. В редакторе HTML есть IntelliSense для <link rel="import" />, являющийся частью стандарта веб-компонентов.
  • Подсказки для элементов HTML. Редактор отображает подсказки для элементов HTML.
  • Поддержка #region. Теперь редактор HTML поддерживает свертывание региона. Кроме того, вы можете заключить текущую выделенную область в окружающий фрагмент кода.
  • Поддержка комментариев Todo и Hack в списке задач.
  • Значки Angular. Директивы (например, <ng-view>) и атрибуты Angular (например, ng-controller) теперь отображаются в IntelliSense с логотипом Angular, чтобы их было легче идентифицировать.
  • Значки Bootstrap. Данные IntelliSense в атрибутах класса HTML теперь отображаются с логотипом Bootstrap, если имя класса было определено CSS-файлом Bootstrap.

Усовершенствования редактора CSS, LESS и Sass

  • Поддержка комментариев Todo и Hack в списке задач.
  • Исправление @viewport для редактора LESS. В редакторе LESS @viewport больше не отображает предупреждений проверки.
  • Предоставляется намного больше фрагментов кода. Редактор CSS, LESS и Sass теперь предоставляет больше фрагментов кода, что облегчает разработку приложений.

Привязывание к браузеру

CSS автоматически синхронизируется. При сохранении CSS-файла или его изменении извне (например, с помощью компилятора LESS или SASS) он полностью перезагружается в браузере. Если файл не удалось синхронизировать автоматически, нажатие сочетания клавиш Ctrl+S приведет к автоматической перезагрузке. Это должно будет вернуть его в правильное состояние без необходимости обновлять связанные браузеры (Ctrl+Alt+ВВОД). Эту функцию можно отключить на панели инструментов.

Инструменты WebJob

Теперь вы можете управлять веб-заданиями на узле WebJob обозревателя сервера внутри веб-сайта Azure. Вот как это можно сделать:

  • Узлы WebJob под узлами веб-сайта в обозревателе сервера.
  • Запуск и остановка непрерывных элементов WebJob из обозревателя сервера.
  • Запуск заданий по запросу или запланированных заданий из обозревателя сервера.
  • Просмотр панели мониторинга WebJob из обозревателя сервера.
  • Вы можете воспользоваться контекстным меню "View Dashboard" (Просмотр панели мониторинга), чтобы перейти к панели мониторинга WebJob веб-сайта Azure.

Пакет SDK для WebJob

Пакет SDK для WebJob предварительно установлен в шаблонах проекта Azure WebJob.

Обновления среды выполнения ASP.NET

Microsoft ASP.NET и Web ASP.NET MVC 5.2.2

Пакеты шаблонов обновлены для использования ASP.NET MVC 5.2.2. Этот выпуск не содержит каких-либо новых функций или исправлений для MVC. Мы внесли изменение в Веб-страницы, чтобы значительно увеличить производительность, и затем обновили все наши связанные пакеты, которые зависят от этой новой версии Веб-страниц.

Веб-API ASP.NET 5.2.2

В этом выпуске мы изменили зависимость для Json.Net 6.0.4. Дополнительную информацию о том, что нового в этом выпуске Json.NET, см. в разделе  Json.NET 6.0 Release 4 - JSON Merge, Dependency Injection (Json.NET 6.0 выпуск 4 - слияние JSON, внедрение зависимостей). Этот выпуск не содержит каких-либо новых функций или исправлений для веб-API. Соответственно, мы обновили все прочие связанные пакеты, которые зависят от этой новой версии веб-API.

OData 5.3.1 для веб-API ASP.NET (бета-версия)

Информацию о веб-API OData 5.3 и бета-версии 5.3.1 см. в разделе What's New in ASP.NET Web API OData 5.3 (Что нового в OData 5.3 для веб-API ASP.NET).

SignalR 2.1.2

Пакеты шаблонов обновлены для использования SignalR 2.1.2. См. заметки о выпуске SignalR на портале GitHub.

Пакет Microsoft Owin 3.0

Пакеты шаблонов обновлены для использования пакетов NuGet для Microsoft Owin 3.0. См. эти заметки о выпуске Katana 3.0.

NuGet 2.8.3

В версию 2.8.3 добавлена поддержка для проектов DevExtreme и BizTalkProject. Дополнительную информацию см. в заметках о выпуске NuGet 2.8.3.

TypeScript

Visual Studio 2015 Preview также включает в себя TypeScript 1.3 - последний выпуск инструментов TypeScript. В этом выпуске добавлен защищенный доступ к членам и типы кортежей, что позволяет получить более естественные объектно-ориентированные шаблоны и более точные типы массивов. TypeScript теперь использует платформу компилятора .NET ("Roslyn") - мощную языковую службу для C# и VB. Благодаря Roslyn появилось много новых функций редактирования, таких как обзор, улучшенная раскраска, более точное переименование и усовершенствованная поддержка функционального программирования. Узнайте больше об инструментах TypeScript.

Тесты модулей

В выпуск Visual Studio 2015 Preview мы добавили функцию интеллектуальных модульных тестов. Изучайте свой код .NET, чтобы создать тестовые данные и набор модульных тестов. Для каждого оператора в коде создаются тестовые входные данные, которые будут выполнять эту инструкцию. Для каждого условного ветвления в коде выполняется анализ случая. Например, анализируются операторы if, утверждения и все операции, которые могут создавать исключения. Этот анализ используется, чтобы создать тестовые данные для параметризованного модульного теста для каждого из методов, создавая при этом модульные тесты с максимальным охватом кода. Затем вы применяете знания предметной области, чтобы улучшить эти модульные тесты.

Правой кнопкой мыши щелкните метод в коде и выберите интеллектуальные модульные тесты.

Узнайте больше об интеллектуальных модульных тестах.

Application Insights

Visual Studio упрощает процесс добавления Application Insights в проект. В средствах Application Insights для Visual Studio, входящих в Visual Studio 2015, повышена производительность и исправлен ряд ошибок. Они полностью совместимы с проектами, в которые средства Application Insights были добавлены с помощью Visual Studio 2013.3 или 2013.4. Это обновление включает в себя:

  • эффективную интеграцию с рабочим процессом для публикации на веб-сайте Azure;
  • усовершенствованную интеграцию решений и обнаружение проектов. (Например, средства Application Insights больше не включаются в неподдерживаемые проекты, например Python.)
  • полную интеграцию с новым диспетчером учетных записей пользователей Visual Studio, где пользователь может одновременно войти в несколько учетных записей.

Чтобы узнать больше об изменениях данных Application Insights на портале предварительной версии Azure, перейдитесюда.

Управление выпуском

Улучшите процесс управления выпуском своего приложения. Разверните приложение в определенной среде для каждого этапа. Управляйте этапами процесса, утверждая каждый из них. Приступите к работе с управлением выпусками.

Для выпуска Visual Studio 2015 Preview нет нового сервера или клиента Release Management. Используйте сервер или клиент Release Management из обновления 4 для Visual Studio 2013. Узнайте больше о компонентах обновления 4.

Использование службы управления выпусками для Visual Studio Online

Теперь вы можете настроить конвейер выпуска от возврата кода до развертывания без необходимости устанавливать и обслуживать локальный сервер управления выпусками. Используйте службу Release Management для Visual Studio Online, чтобы настроить свой выпуск. (Это предварительная версия службы.)

Из клиента Release Management подключитесь к своей учетной записи Visual Studio Online. Создайте определение выпуска для своего приложения из клиента Release Management обновления 4 для Visual Studio 2013. После выпуска приложения на каждом этапе используется служба Release Management.

Вкладка  

Выпуск из Visual Studio в Azure

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

В Visual Studio создайте определение выпуска.

Управление версиями Git

Легче работать с ветвлениями и видеть, как разошлись изменения в вашем журнале.

Ветвления

Вы можете организовать свои ветвления иерархически, задав префикс:

В представлении в виде дерева локальные и удаленные ветвления (включая те, которые вы не создавали локально) отображаются отдельно.

Ветвления Git

Подробный журнал

Теперь вы можете видеть в журнале, как разошлись фиксации. Например, вот журнал из запроса на получение.

Подробное представление журнала

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

CodeLens

Узнавайте больше о своем коде, не отвлекаясь от работы в редакторе. Находите ссылки на код, изменения в коде, связанные элементы TFS и модульные тесты - и все это не отрывая взгляд от кода. Узнайте больше о CodeLens.

Ищите систему в изменениях кода, чтобы оценить их воздействие. Теперь CodeLens отображает журнал изменений в виде диаграммы для кода в Git.

Просматривайте изменения кода своей группы с помощью CodeLens 

Архитектура, проектирование и моделирование

Карты кода и графики зависимостей

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

  • Для повышения производительности пропускать повторную сборку своего решения при создании и редактировании схем.
  • Создавать схемы из представления классов и обозревателя объектов.
  • Фильтровать связи, чтобы сделать схемы более удобными для чтения.

При создании этих схем вы можете больше не пользоваться обозревателем архитектуры. Но можете по-прежнему использовать обозреватель решений.

Схемы слоев

Обновляйте эти схемы, используя представление классов и обозреватель объектов. Для выполнения требований к структуре программного обеспечения используйте схемы слоев, чтобы описать необходимые зависимости. Следите за тем, чтобы код соответствовал данной структуре, выполняя поиск кода, не соответствующего установленным ограничениям, и проверяя будущий код по этому базовому плану.

Схемы UML

Вы больше не можете создавать из кода схемы классов UML и схемы последовательностей. Но вы по-прежнему можете создавать эти схемы с помощью новых элементов UML.

Другие изменения: исправления и известные проблемы

Полное описание технических усовершенствований, исправлений и известных проблем в данном выпуске приводится в статье базы знаний Description of Visual Studio 2015 Preview (Описание Visual Studio 2015 Preview).

Связанные выпуски

Пакет SDK 2.5 для Azure

В этом выпуске представлены новые и усовершенствованные инструменты для разработки в среде Azure с помощью Visual Studio 2013 с обновлением 4, а теперь и с помощью Visual Studio 2015 Preview, в том числе инструменты Azure Resource Manager Tools, HDInsight Tools и возможность управлять элементами Azure WebJob из обозревателя сервера. Узнайте больше об этом выпуске, ознакомившись с заметками о выпуске пакета SDK для Azure 2.5.

Скачайте пакет SDK 2.5 для Azure прямо сейчас.

Team Explorer Everywhere 2015 Preview

Обновление 2 для TEE 2013 улучшает хранение учетных данных TEE, что намного упрощает вход в Visual Studio Online. Также этот выпуск добавляет возможность просматривать репозитории Git в TEE. Дополнительную информацию об этом см. здесь.

Скачайте обновление 2 для TEE 2013 прямо сейчас.

Инструменты Visual Studio для Unity (VSTU)

VSTU - это бесплатная надстройка Майкрософт для Visual Studio, которая расширяет возможности программирования и отладки для работы с инструментами и платформой для создания игр Unity. VSTU 2.0 Preview расширяет возможности VS 2015 Preview. Также улучшена визуализация объектов в окнах контрольных значений и локальных окнах.

Последние выпуски

2.0 Preview - узнайте больше об этом выпуске здесь.

Чтобы приступить к работе с последней версией VSTU, скачайте инструменты из коллекции Visual Studio: VSTU для Visual Studio 2015 Preview.

Пакет SDK для Kinect для Windows 2.0

Вот информация об этом выпуске:

  • Пакет средств разработки Kinect для Windows 2.0 содержит более 200 улучшений и обновлений предварительной версии пакета SDK. Пакет SDK можно скачать бесплатно, и вам не нужно платить за лицензии времени выполнения на коммерческие приложения, разработанные с помощью этого пакета SDK.
  • Возможность разрабатывать приложения Kinect для Магазина Windows. Благодаря коммерческому выпуску пакета SDK 2.0 впервые вы можете разработать и развернуть приложения Kinect v2 в Магазине Windows. Доступ к Магазину Windows позволяет достичь миллионы потенциальных пользователей ваших решений для бизнеса и потребителей.
  • За 49,99 долларов США вы можете приобрести адаптер Kinect для Windows, позволяющий подключить датчик Kinect для Xbox One к ПК и планшетам под управлением Windows 8.0 и Windows 8.1. Теперь разработчики могут использовать имеющийся датчик Kinect для Xbox One, чтобы создавать решения Kinect v2, и потребители могут использовать приложения Kinect v2 на своих компьютерах, пользуясь приобретенным ранее датчиком Kinect для Xbox One. Датчик предлагается на нескольких десятках рынков (выпуск состоится сегодня) и в течение следующих недель будет доступен на 41 рынке.

Дополнительную информацию см. здесь.

Скачайте пакет средств разработки Kinect для Windows прямо сейчас.

Функция извлечения C++ для Visual Studio 2015 Preview

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

Пакет анализа кода облака Azure

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

Скачайте пакет анализа кода облака Azure прямо сейчас.

Интернет-магазин

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=37405