Заметки о выпуске ASP.NET and Web Tools 2013.1 для Visual Studio 2012

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

В этом документе описывается выпуск ASP.NET and Web Tools 2013.1 для Visual Studio 2012.

Содержимое

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

Установите ASP.NET and Web Tools 2013.1 для Visual Studio 2012.

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

Необходимо использовать Visual Studio 2012 или Visual Studio Express 2012 для Интернета.

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

Бутстрэп

При формировании шаблонов контроллеров и представлений MVC 5 разметка для представлений использует начальную загрузку.

Шаблоны

шаблон ASP.NET MVC 5

Мы добавили новый шаблон MVC 5. Он ссылается на последние пакеты NuGet MVC 5, и вы можете использовать формирование шаблонов для добавления контроллеров и представлений.

Шаблон веб-API ASP.NET 2

Мы добавили новый шаблон веб-API 2. Он ссылается на последние пакеты NuGet веб-API 2, и вы можете использовать формирование шаблонов для добавления контроллеров и представлений.

Шаблоны элементов

Мы добавили новые шаблоны элементов для представлений MVC 5, веб-страниц (Razor 3) и контроллеров веб-API 2. Они устанавливают связанные пакеты NuGet в проект при добавлении новых элементов.

Entity Framework 6

При формировании шаблона контроллера MVC или веб-API с помощью Entity Framework используется Платформа 6. Дополнительные сведения о Entity Framework см. в разделе Журнал версий Entity Framework.

Вы также можете скачать и установить инструменты Entity Framework 6 для Visual Studio 2012. См. статью Получение Entity Framework.

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

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

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

При использовании формирования шаблонов мы гарантируем, что все необходимые зависимости установлены в проекте. Например, если вы начинаете с проекта ASP.NET Web Forms, а затем используете формирование шаблонов для добавления контроллера веб-API, необходимые пакеты и ссылки NuGet добавляются в проект автоматически.

Чтобы добавить шаблон MVC в проект веб-формы, добавьте новый шаблонный элемент и выберите Зависимости MVC 5 в диалоговом окне. Существует два варианта формирования шаблонов MVC. Минимальный и Полный. Если выбрать минимальное значение, в проект будут добавлены только пакеты NuGet и ссылки для ASP.NET MVC. Если выбрать параметр Полный, будут добавлены минимальные зависимости, а также необходимые файлы содержимого для проекта MVC.

Поддержка формирования шаблонов асинхронных контроллеров использует новые асинхронные функции из Entity Framework 6.

Дополнительные сведения и учебники см . в статье Общие сведения о формировании шаблонов ASP.NET. В этих руководствах показано формирование шаблонов с помощью Visual Studio 2013, но они также применимы к ASP.NET and Web Tools 2013.1 для Visual Studio 2012.

Редактор Razor

В этом обновлении Visual Studio 2012 теперь поддерживает инструменты и редактирование Razor 3.

NuGet 2.7

NuGet 2.7 включает широкий набор новых функций, подробно описанных в заметках о выпуске NuGet 2.7.

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

Известные проблемы и критические изменения

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

Формирование шаблонов MVC и веб-API — ошибка HTTP 404, "Не найдено"

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

Чтобы устранить эту ошибку для MVC, добавьте новый шаблонный элемент и выберите Зависимости MVC 5 (минимальные или полные). Этот процесс добавит все необходимые изменения в проект.

Чтобы устранить эту ошибку для веб-API, выполните указанные ниже действия.

  1. Добавьте следующий класс WebApiConfig в проект.

    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
    
    Public Module WebApiConfig
        Public Sub Register(ByVal config As HttpConfiguration)
            config.MapHttpAttributeRoutes()
            config.Routes.MapHttpRoute(
              name:="DefaultApi",
              routeTemplate:="api/{controller}/{id}",
              defaults:=New With {.id = RouteParameter.Optional}
            )
        End Sub
    End Module
    
  2. Настройте WebApiConfig.Register в методе Application_Start в Global.asax следующим образом:

    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);    
        }
    }
    
    Public Class WebApiApplication
         Inherits System.Web.HttpApplication
     
         Sub Application_Start()     
           GlobalConfiguration.Configure(AddressOf WebApiConfig.Register)       
         End Sub
    End Class
    

Visual Studio Express 2012 для Web перестает работать после добавления элемента с шаблонами

Если Visual Studio Express 2012 для Интернета перестает работать после добавления шаблонного элемента в Entity Framework (например, контроллер веб-API 2 с действиями с использованием Entity Framework), возможно, Visual Studio Express не удалось загрузить собственный образ сборки, зависящей от System.Web.Extensions.

Чтобы устранить эту проблему, настройте Visual Studio Express для работы с образом MSIL system.Web.Extensions:

  1. Откройте командную строку в режиме администратора.

  2. Перейдите в папку %ProgramFiles%\Microsoft Visual Studio 11.0\Common7\IDE или %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE (для 64-разрядной версии Windows).

  3. Откройте VWDExpress.exe.config в текстовом редакторе.

  4. Добавьте следующую строку в <элемент configuration>/<runtime> :

    <disableNativeImageLoad>
        <assemblyIdentity name="System.Web.Extensions" />
    </disableNativeImageLoad>
    
  5. Перезапустите Visual Studio Express 2012 для Web.

ASP.NET Razor 3

Просмотр cshtml-файла с помощью команды Browse With или F5 приводит к ошибке сервера

При создании проекта MVC 5 в Visual Studio 2012 (или открытии в Visual Studio 2012 проекта MVC 5, созданного в Visual Studio 2013) и попытке просмотреть CSHTML-файл с помощью команды Browse With или F5 вы получите сообщение об ошибке : Ошибка сервера в приложении /. Сервер пытается перейти по адресу http://localhost:XXXX/Views/../XXXX.cshtml

Чтобы устранить эту проблему, измените параметр Действие запуска в проекте на Конкретная страница. Не нужно предоставлять значение для страницы.

Снимок экрана, на котором выбран пункт

После внесения этого изменения нажмите клавишу F5, чтобы перейти к корню приложения (http://localhost:XXXX). Это поведение отличается от поведения проектов MVC 5 в Visual Studio 2013, где параметр Текущая страница запускает открытую страницу.

Переопределение URL-адресов и Тильда(~)

После обновления до ASP.NET Razor 3 или ASP.NET MVC 5 нотация тильды (~) может работать неправильно при использовании перезаписи URL-адресов. Перезапись URL-адреса влияет на нотацию тильды(~) в элементах HTML, таких как <A/>, <SCRIPT/>, <LINK/>, и в результате тильда больше не сопоставляется с корневым каталогом.

Например, если вы перезаписываете запросы asp.net/content для asp.net, атрибут href в <A href="~/content/"/> разрешается в /content/content/ вместо /. Чтобы отключить это изменение, можно задать для контекста IIS_WasUrlRewritten значение false на каждой веб-странице или в Application_BeginRequest в Global.asax.

Шаблоны

При создании ASP.NET проектов MVC с помощью Visual Studio 2012 на Windows 8.1 или Windows Server 2012 R2 в Visual Studio отображается сообщение об ошибке " Настройка веб-адреса [URL] для ASP.NET 4.5 failed".

Ошибка конфигурации

Эта ошибка возникает из-за того, что Visual Studio 2012 не включает компонент ASP.NET 4.5 при установке в этих выпусках Windows. Чтобы включить ASP.NET 4.5, выполните действия, описанные в разделе Включение и отключение функций Windows.

Включение или отключение функций Windows

Кроме того, можно включить ASP.NET 4.5 с помощью командной строки.

  1. Откройте командную строку в режиме администратора.
  2. Выполните следующую команду, чтобы включить ASP.NET 4.5.
    dism /Online /Enable-Feature /FeatureName:NetFx4Extended-ASPNET45 /Quiet /NoRestart