ASP.NET and Web Tools 2013.2 для заметок о выпуске Visual Studio 2013

от Майкрософт

Замечания по установке

ASP.NET and Web Tools для Visual Studio 2013.2 входят в состав установщика main и могут быть загружены в составе Visual Studio 2013 с обновлением 2.

Документация

Руководства и другие сведения о ASP.NET and Web Tools для Visual Studio 2013.2 доступны на веб-сайте ASP.NET.

Требования к программному обеспечению

ASP.NET and Web Tools для Visual Studio 2013.2 требуется Visual Studio 2013.

Новые возможности в ASP.NET and Web Tools для Visual Studio 2013.2

В следующих разделах описываются функции, представленные в выпуске.

Шаблоны проектов с одним ASP.NET

  • Обновления ASP.NET шаблонов Project для поддержки подтверждения учетной записи и сброса пароля.
  • Обновление шаблона веб-API ASP.NET для поддержки проверки подлинности с помощью локальных учетных записей организации.
  • Шаблон ASP.NET SPA теперь содержит проверку подлинности, основанную на представлениях MVC и на стороне сервера. Шаблон имеет контроллер WebAPI, доступ к которому могут получить только пользователи, прошедшие проверку подлинности.

Поддержка SSL при запуске веб-приложений на IIS Express

Чтобы исключить предупреждение системы безопасности при просмотре и отладке HTTPS на localhost, мы добавили диалоговое окно, разрешающее интернет-Обозреватель и Chrome доверять самозаверяющим SSL-сертификату IIS Express.

Например, для свойства веб-проекта можно задать использование SSL. Нажмите клавишу F4, чтобы открыть диалоговое окно свойств. Измените значение SSL Enabled на true. Скопируйте URL-адрес SSL.

Свойство SSL Enabled

Задайте веб-вкладку страницы свойств веб-проекта для использования URL-адреса на основе HTTPS (URL-адрес SSL будет иметь значение https://localhost:44300/ , если вы ранее не создали веб-сайты SSL.)

Задать URL-адрес проекта (HTTPS)

Для запуска приложения нажмите сочетание клавиш CTRL+F5. Следуйте инструкциям, чтобы доверять самозаверяющим сертификату, созданному IIS Express.

Предупреждение SSL

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

Предупреждение системы безопасности

Сайт будет отображаться в IE или Chrome без предупреждения о сертификате в браузере.

Страница HTTPS без предупреждений

Firefox использует собственное хранилище сертификатов, поэтому отображает предупреждение.

Улучшения веб-редактора Visual Studio

  • Новый элемент проекта JSON и редактор. Мы добавили элемент проекта JSON и редактор в Visual Studio. Текущие функции редактора JSON включают раскраску, проверку синтаксиса, заполнение фигурных скобок, структурирование, настройку параметров инструментов и многое другое.

    Редактор JSON

    IntelliSense теперь поддерживает схему JSON версий 3 и 4. В поле со списком схемы можно выбрать существующие схемы, изменить путь к локальной схеме или просто перетащить в него JSON-файл проекта, чтобы получить относительный путь.

    Редактор схемы JSON IntellisenseJSON

  • Новый редактор Sass (SCSS): мы добавили LESS в VS2013 RTM, и теперь у нас есть элемент проекта Sass и редактор. Функции редактора SASS сравнимы с редактором LESS и включают раскраску, переменные и Mixins IntelliSense, комментарий/раскомментирование, быструю информацию, форматирование, проверку синтаксиса, структурирование, определение goto, средство выбора цвета, настройку параметров инструментов и т. д.

    Добавление нового элемента:редактор таблицы стилей SCSS

  • Новое средство выбора URL-адресов в документах HTML, Razor, CSS, LESS и Sass: Vs 2013 поставляется без средства выбора URL-адресов за пределами веб-формы страниц. Новое средство выбора URL-адресов для редакторов HTML, Razor, CSS, LESS и Sass — это свободное в диалоге средство выбора ввода, которое понимает .. и фильтрует списки файлов соответствующим образом для тегов и ссылок img.

    Снимок экрана: новое диалоговое окно, свободное вводящее вы l Средство выбора, которое фильтрует списки файлов соответствующим образом. В примере показаны ссылки на изображения.Снимок экрана: новое диалоговое окно, свободное вводящее вы l Средство выбора, которое фильтрует списки файлов соответствующим образом. В примере показаны ссылки h t m l.Снимок экрана: новое средство выбора для редакторов c s, которое фильтрует списки файлов соответствующим образом для тегов и ссылок i m g.

  • Обновления в редактор LESS путем добавления дополнительных функций

  • Обновление IntelliSense для Knockout. Мы добавили нестандартный синтаксис KnockOut для VS IntelliSense— "ko-vs-editor viewModel:". Его можно использовать для привязки к нескольким моделям представлений на странице с помощью комментариев в форме :

    Нокаут intellisense

    Мы также добавили поддержку вложенного объекта ViewModel IntelliSense, поэтому вы можете детализировать глубоко вложенные объекты в ViewModel.

    <div data-bind="text: foo.bar.baz.etc" />

    Отображаемая технология IntelliSense является полной intelliSense объекта JavaScript.

    Intellisense с полным объектом JavaScript

  • Новое средство выбора URL-адресов в документах HTML, Razor, CSS, LESS и Sass: VS 2013 поставляется без средства выбора URL-адресов за пределами веб-формы страниц. Новое средство выбора URL-адресов для редакторов HTML, Razor, CSS, LESS и Sass — это свободное в диалоге средство выбора ввода, которое понимает .. и фильтрует списки файлов соответствующим образом для тегов и ссылок img.

    Снимок экрана: новые диалоговые окна, свободное вводящее вы l Picker, который фильтрует списки файлов соответствующим образом для i m g тегов и ссылок.Снимок экрана: новое диалоговое окно, свободное вводящее вы l Средство выбора, которое фильтрует списки файлов соответствующим образом, отображая ссылки h t m l.Снимок экрана: новый свободный в диалоговом окне, текучий ввод средства выбора для редакторов c s, который фильтрует списки файлов соответствующим образом для тегов и ссылок i m g.

  • Связь с браузером теперь поддерживает httpS-подключения и выводит их на панели мониторинга с другими подключениями, если браузер доверяет сертификату.
  • Статическое сопоставление источника HTML
  • Поддержка SPA для данных сопоставления
  • Автоматическое обновление данных сопоставления

Поддержка Служба приложений Azure веб-приложения в Visual Studio

Создание удаленных ресурсов Azure при создании нового веб-проекта

Мы добавили флажок Azure Create Remote Resources (Создание удаленных ресурсов) в диалоговом окне нового веб-приложения. Выбрав его, вы сможете интегрировать процесс создания нового веб-приложения, настройки сайта публикации Azure для тестирования и создания профиля публикации за несколько простых шагов.

Публикация нового проекта с ресурсами Azureв Azure

Улучшения веб-публикации

  • Улучшение взаимодействия с пользователем для публикации.

формирование шаблонов ASP.NET

  • Поддержка перечисления: Если в модели используются перечисления, то шаблон MVC создаст раскрывающийся список для перечисления. Для этого используются вспомогательные функции перечисления в MVC.
  • Поддержка начальной загрузки. Обновлены шаблоны EditorFor в шаблоне MVC, чтобы они использовали классы начальной загрузки.
  • Поддержка пакетов: шаблоны MVC и веб-API будут добавлять пакеты версии 5.1 для MVC и веб-API.

На следующих снимках экрана показаны модели формирования шаблонов.

  • Код модели:

    Код модели

  • Скомпилируйте код модели, щелкните его правой кнопкой мыши и выберите Добавить, Создать шаблонный элемент.

    Добавление нового элемента с шаблонами

  • Выберите контроллер MVC5 с представлениями с помощью Entity Framework:

    Добавление нового контроллера MVC5 с представлениями

  • Добавьте контроллер с помощью модели:

    Снимок экрана: диалоговое окно добавления контроллера с выбранным классом Model и выделенным полем класса контекста данных.

  • Проверьте созданный код, например Views/WeekdayModels/Edit.cshtml содержит @Html.EnumDropDownListFor: Представление, содержащее EnumDropDownListFor

  • Запустите страницу, чтобы увидеть созданное поле со списком перечисления. Обратите внимание, что если значение может иметь значение NULL, для поля со списком можно выбрать пустую строку. Например, на странице Создание отображается следующее:

    Поле со списком, допускающее пустую строку

NuGet 2.8.1

NuGet 2.8.1 RTM будет выпущен в апреле 2014 г. Ниже приведены важные моменты, приведенные в заметках о выпуске, но проверка полные заметки о выпуске, чтобы получить дополнительные сведения об этих изменениях.

  • Целевые приложения Windows Phone 8.1. NuGet 2.8.1 теперь поддерживает нацеливание Windows Phone 8.1 приложений с использованием моникеров целевой платформы WindowsPhoneApp, WPA, WindowsPhoneApp81 и WPA81.

  • Исправление для зависимостей. При разрешении зависимостей пакета NuGet исторически реализовал стратегию выбора самой низкой основной и дополнительной версии пакета, удовлетворяющей зависимостям пакета. Однако, в отличие от основной и дополнительной версии, версия исправления всегда разрешалась до самой высокой версии. Хотя поведение было благим, оно создало отсутствие детерминизма для установки пакетов с зависимостями.

  • Переключатель DependencyVersion. Хотя NuGet 2.8 изменяет поведение по умолчанию для разрешения зависимостей, он также добавляет более точный контроль над процессом разрешения зависимостей с помощью коммутатора -DependencyVersion в консоли диспетчера пакетов. Параметр позволяет разрешать зависимости до минимально возможной версии (поведение по умолчанию), максимально возможной версии или самой высокой дополнительной версии или версии исправления. Этот параметр работает только для install-package в команде PowerShell.

  • Атрибут DependencyVersion. В дополнение к параметру -DependencyVersion, подробно описанному выше, NuGet также разрешил задать новый атрибут в файле nuget.config, определяя значение по умолчанию, если параметр -DependencyVersion не указан при вызове install-package. Это значение также будет учитываться диалоговым окном диспетчера пакетов NuGet для любых операций установки пакета. Чтобы задать это значение, добавьте следующий атрибут в файл nuget.config:

    <config> <add key="dependencyversion" value="Highest" /> </config>

  • Предварительный просмотр операций NuGet с помощью -WhatIf. Некоторые пакеты NuGet могут иметь глубокие графы зависимостей, и поэтому это может быть полезно во время установки, удаления или обновления, чтобы сначала увидеть, что произойдет. NuGet 2.8 добавляет стандартный powerShell -what, если переключиться на команды install-package, uninstall-package и update-package, чтобы обеспечить визуализацию всего закрытия пакетов, к которым будет применена команда.

  • Более раннюю версию пакета. Это не редкость установка предварительной версии пакета, чтобы исследовать новые функции, а затем принять решение о откате к последней стабильной версии. До NuGet 2.8 это был многоэтапный процесс удаления пакета предварительной версии и его зависимостей, а затем установки более ранней версии. Однако в NuGet 2.8 пакет обновления теперь откатит все закрытие пакета (например, дерево зависимостей пакета) до предыдущей версии.

  • Зависимости разработки. В виде пакетов NuGet можно предоставить множество различных типов возможностей, включая средства, используемые для оптимизации процесса разработки. Эти компоненты, хотя они могут играть важную роль в разработке нового пакета, не следует рассматривать как зависимость нового пакета при его последующей публикации. NuGet 2.8 позволяет пакету идентифицировать себя в файле NUSPEC как developmentDependency. После установки эти метаданные также будут добавлены в файл packages.config проекта, в котором был установлен пакет. При последующем анализе этого packages.config файла на наличие зависимостей NuGet во время nuget.exe пакета будут исключены эти зависимости, помеченные как зависимости разработки.

  • Отдельные файлы packages.config для разных платформ. При разработке приложений для нескольких целевых платформ обычно используются разные файлы проекта для каждой из соответствующих сред сборки. Кроме того, часто используются разные пакеты NuGet в разных файлах проекта, так как пакеты имеют разные уровни поддержки для разных платформ. NuGet 2.8 обеспечивает улучшенную поддержку этого сценария, создавая разные файлы packages.config для разных файлов проектов, зависящих от платформы.

  • Откат к локальному кэшу. Хотя пакеты NuGet обычно используются из удаленной коллекции, такой как коллекция NuGet , с использованием сетевого подключения, существует множество сценариев, в которых клиент не подключен. Без сетевого подключения клиент NuGet не смог успешно установить пакеты, даже если эти пакеты уже находились на клиентском компьютере в локальном кэше NuGet. NuGet 2.8 добавляет автоматическую резервную передачу кэша в консоль диспетчера пакетов.

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

  • Исправления ошибок. Одной из основных исправлений было повышение производительности команды update-package -reinstall.

    В дополнение к этим функциям и упомянутому выше исправлению производительности в этом выпуске NuGet также содержится множество других исправлений ошибок. В выпуске было устранено 181 проблема. Полный список рабочих элементов, исправленных в NuGet 2.8, см. в средстве отслеживания проблем NuGet для этого выпуска.

Веб-формы ASP.NET

ASP.NET MVC 5.1.2

веб-API ASP.NET 2.1.2

веб-страницы ASP.NET 3.1.2

Entity Framework 6.1

Платформа Entity Framework обновлена до версии 6.1 как для среды выполнения, так и для инструментов. Entity Framework (EF) 6.1 является незначительным обновлением для Entity Framework 6 и включает ряд исправлений ошибок и новых функций. Подробные сведения о EF6.1, включая ссылки на документацию по новым функциям, см. в разделе Журнал версий Entity Framework. К новым функциям в этом выпуске относятся:

  • Консолидация инструментов обеспечивает согласованный способ создания новой модели EF. Эта функция расширяет мастер ADO.NET модели данных сущностей для поддержки создания моделей Code First, включая реконструирование из существующей базы данных. Эти функции ранее были доступны в бета-версии в EF Power Tools.
  • Обработка сбоев фиксации транзакций предоставляет новый System.Data.Entity.Infrastructure.CommitFailureHandler , который использует появившиеся возможности перехвата транзакционных операций. CommitFailureHandler обеспечивает автоматическое восстановление после сбоев подключения при фиксации транзакции.
  • IndexAttribute позволяет указывать индексы, размещая атрибут в свойстве (или свойствах) в модели Code First. Код сначала создаст соответствующий индекс в базе данных.
  • Общедоступный API сопоставления предоставляет доступ к сведениям о том, как свойства и типы сопоставляются со столбцами и таблицами в базе данных. В предыдущих выпусках этот API был внутренним.
  • Возможность настройки перехватчиков с помощью файла App/Web.config (позволяет добавлять перехватчики без повторной компиляции приложения).
  • DatabaseLogger — это новый перехватчик, который позволяет легко записывать все операции базы данных в файл. В сочетании с предыдущей функцией это позволяет легко переключаться на ведение журнала операций базы данных для развернутого приложения без необходимости повторной компиляции.
  • Улучшено обнаружение изменений модели миграции , чтобы более точные миграции с шаблонами; значительно улучшена производительность процесса обнаружения изменений.
  • Повышение производительности , включая сокращение операций базы данных во время инициализации, оптимизацию для сравнения равенства значений NULL в запросах LINQ, более быстрое создание представлений (создание модели) в большем числе сценариев и более эффективную материализацию отслеживаемых сущностей с несколькими связями.

ASP.NET Identity 2.0.0

  • Двухфакторная проверка подлинности: ASP.NET Identity теперь поддерживает двухфакторную проверку подлинности. Двухфакторная проверка подлинности обеспечивает дополнительный уровень безопасности учетных записей пользователей в случае компрометации пароля. Существует также защита от атак методом подбора в отношении двухфакторных кодов.

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

  • Подтверждение учетной записи: Система удостоверений ASP.NET теперь поддерживает подтверждение учетной записи. Это довольно распространенный сценарий на большинстве веб-сайтов сегодня, когда вы регистрируетесь для новой учетной записи на веб-сайте, вы должны подтвердить свой адрес электронной почты, прежде чем вы сможете сделать что-либо на веб-сайте. Email подтверждение полезно, так как предотвращает создание фиктивных учетных записей. Это очень полезно, если вы используете электронную почту в качестве метода общения с пользователями вашего веб-сайта, таких как сайты форума, банковское дело, электронная коммерция или социальные веб-сайты.

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

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

  • Сделайте тип первичного ключа расширяемым для пользователей и ролей. В ASP.NET Identity 1.0 тип первичного ключа для таблицы Пользователи и роли был строковым. Это означает, что когда система удостоверений ASP.NET была сохранена в SQL Server с помощью Entity Framework, мы использовали nvarchar. Было много обсуждений по поводу этой реализации по умолчанию в Stack Overflow и на основе входящих отзывов. Мы предоставили обработчик расширяемости, в котором можно указать первичный ключ таблицы "Пользователи и роли". Этот перехватчик расширяемости особенно полезен, если выполняется миграция приложения и в приложении хранятся идентификаторы userId — guids или ints.

  • Поддержка IQueryable для пользователей и ролей. Добавлена поддержка IQueryable в UsersStore и RolesStore, вы можете легко получить список пользователей и ролей.

  • Поддержка операции удаления с помощью UserManager

  • Индексирование в UserName. В реализации entity Framework ASP.NET Identity мы добавили уникальный индекс для имени пользователя с помощью нового атрибута IndexAttribute в EF 6.1.0. Это гарантирует, что имена пользователей всегда уникальны и не было состояния гонки, в котором можно было бы в конечном итоге получить повторяющиеся имена пользователей.

  • Расширенный проверяющий элемент управления паролями: Проверяющий элемент управления паролем, поставляемый в ASP.NET Identity 1.0, был достаточно простым проверяющим элементом проверки пароля, который проверял только минимальную длину. Существует новый проверяющий элемент управления паролем, который позволяет контролировать сложность пароля. Обратите внимание, что даже если вы включите все параметры в этом пароле, мы рекомендуем включить двухфакторную проверку подлинности для учетных записей пользователей.

  • По промежуточного слоя IdentityFactory/ CreatePerOwinContext:

    • Диспетчер пользователей. С помощью реализации Фабрики можно получить экземпляр UserManager из контекста OWIN. Этот шаблон аналогичен тому, который используется для получения AuthenticationManager из контекста OWIN для SignIn и SignOut. Это рекомендуемый способ получения экземпляра UserManager для каждого запроса для приложения.
    • DbContextFactory: ASP.NET Identity использует Entity Framework для сохранения системы удостоверений в SQL Server. Для этого в системе удостоверений есть ссылка на ApplicationDbContext. ПО промежуточного слоя DbContextFactory возвращает экземпляр ApplicationDbContext для каждого запроса, который можно использовать в приложении.
  • ASP.NET пакет NuGet для удостоверений. Пакет Примеры NuGet упрощает установку и выполнение примеров для ASP.NET Identity и следовать рекомендациям. Это пример ASP.NET приложения MVC. Перед развертыванием в рабочей среде измените код в соответствии с вашим приложением. Пример должен быть установлен в пустое приложение ASP.NET. Дополнительные сведения о пакете см. в следующей записи блога: Объявление о выпуске RTM ASP.NET Identity 2.0.0

Компоненты Microsoft OWIN

В этом выпуске исправлено множество ошибок.

ASP.NET SignalR 2.0.2

В этом выпуске исправлено множество ошибок. Дополнительные сведения см. в заметках о выпуске 2.0.2 .