Informacje o wersji rozszerzenia ASP.NET and Web Tools 2013.1 dla programu Visual Studio 2012

autor: Microsoft

W tym dokumencie opisano wydanie ASP.NET and Web Tools 2013.1 dla programu Visual Studio 2012.

Zawartość

Uwagi dotyczące instalacji

Zainstaluj ASP.NET and Web Tools 2013.1 dla programu Visual Studio 2012.

Wymagania programowe

Musisz mieć program Visual Studio 2012 lub Visual Studio Express 2012 dla sieci Web.

Nowe funkcje w programie ASP.NET and Web Tools 2013.1 dla programu Visual Studio 2012

Uruchomienie

Podczas tworzenia szkieletu kontrolerów i widoków MVC 5 znaczniki dla widoków używają elementu Bootstrap.

Szablony

szablon ASP.NET MVC 5

Dodaliśmy nowy szablon MVC 5. Odwołuje się do najnowszych pakietów NuGet MVC 5 i można użyć szkieletu do dodawania kontrolerów i widoków.

szablon internetowego interfejsu API 2 ASP.NET

Dodaliśmy nowy szablon internetowego interfejsu API 2. Odwołuje się do najnowszych pakietów NuGet internetowego interfejsu API 2 i można użyć szkieletu do dodawania kontrolerów i widoków.

Szablony elementów

Dodaliśmy nowe szablony elementów dla widoków MVC 5, stron internetowych (Razor 3) i kontrolerów internetowego interfejsu API 2. Instalują powiązane pakiety NuGet do projektu podczas dodawania nowych elementów.

Entity Framework 6

Podczas tworzenia szkieletu kontrolera MVC lub internetowego interfejsu API przy użyciu programu Entity Framework używamy platformy Framework 6. Aby uzyskać więcej informacji na temat programu Entity Framework, zobacz Historia wersji programu Entity Framework.

Możesz również pobrać i zainstalować narzędzia Entity Framework 6 Tools for Visual Studio 2012. Zobacz Get Entity Framework (Pobierz platformę Entity Framework).

tworzenie szkieletów ASP.NET

ASP.NET tworzenie szkieletów to struktura generowania kodu dla aplikacji internetowych ASP.NET. Ułatwia dodawanie kodu kociołowego do projektu, który wchodzi w interakcję z modelem danych.

W poprzednich wersjach programu Visual Studio tworzenie szkieletów było ograniczone do ASP.NET projektów MVC. Dzięki tej aktualizacji można teraz używać szkieletu dla dowolnego projektu ASP.NET, w tym Web Forms. Ta aktualizacja nie obsługuje generowania stron dla projektu Web Forms, ale nadal można używać szkieletu z Web Forms przez dodanie zależności MVC do projektu. Obsługa generowania stron dla Web Forms zostanie dodana w przyszłej aktualizacji.

W przypadku korzystania z szkieletu upewniamy się, że wszystkie wymagane zależności są zainstalowane w projekcie. Jeśli na przykład rozpoczniesz od projektu ASP.NET Web Forms, a następnie użyjesz szkieletu w celu dodania kontrolera internetowego interfejsu API, wymagane pakiety NuGet i odwołania zostaną automatycznie dodane do projektu.

Aby dodać szkielet MVC do projektu Web Forms, dodaj nowy element szkieletowy i wybierz pozycję Zależności MVC 5 w oknie dialogowym. Istnieją dwie opcje tworzenia szkieletów MVC; Minimalny i pełny. W przypadku wybrania pozycji Minimum do projektu zostaną dodane tylko pakiety NuGet i odwołania do ASP.NET MVC. Jeśli wybierzesz opcję Pełna, zostaną dodane minimalne zależności, a także wymagane pliki zawartości dla projektu MVC.

Obsługa tworzenia szkieletów kontrolerów asynchronicznych korzysta z nowych funkcji asynchronicznych z programu Entity Framework 6.

Aby uzyskać więcej informacji i samouczków, zobacz ASP.NET Omówienie tworzenia szkieletów. W tych samouczkach przedstawiono tworzenie szkieletów z Visual Studio 2013, ale mają one również zastosowanie do ASP.NET and Web Tools 2013.1 dla programu Visual Studio 2012.

Edytor Razor

Dzięki tej aktualizacji program Visual Studio 2012 obsługuje teraz narzędzia Razor 3/edycję.

NuGet 2.7

Pakiet NuGet 2.7 zawiera bogaty zestaw nowych funkcji, które zostały szczegółowo opisane w temacie Informacje o wersji NuGet 2.7.

Ta wersja narzędzia NuGet eliminuje potrzebę jawnego zezwolenia użytkownikom na przywracanie brakujących pakietów przez program NuGet. Podczas instalowania pakietu NuGet 2.7 użytkownicy niejawnie wyrażają zgodę na automatyczne przywracanie brakujących pakietów. Użytkownicy mogą jawnie zrezygnować z przywracania pakietów za pomocą ustawień nuGet w programie Visual Studio. Ta zmiana upraszcza sposób działania przywracania pakietów.

Znane problemy i zmiany powodujące niezgodność

tworzenie szkieletów ASP.NET

Szkielet interfejsu MVC i internetowego interfejsu API — http 404, nie znaleziono błędu

Jeśli wystąpi błąd podczas dodawania elementu szkieletowego do projektu, możliwe, że projekt pozostanie w stanie niespójnym. Niektóre wprowadzone zmiany zostaną wycofane, ale inne zmiany, takie jak zainstalowane pakiety NuGet, nie zostaną wycofane. Jeśli zmiany konfiguracji routingu zostaną wycofane, użytkownicy otrzymają błąd HTTP 404 podczas przechodzenia do elementów szkieletowych.

Aby rozwiązać ten błąd dla wzorca MVC, dodaj nowy element szkieletowy i wybierz pozycję Zależności MVC 5 (minimalne lub pełne). Ten proces spowoduje dodanie wszystkich wymaganych zmian do projektu.

Aby rozwiązać ten błąd dla internetowego interfejsu API:

  1. Dodaj następującą klasę WebApiConfig do projektu.

    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. Skonfiguruj plik WebApiConfig.Register w metodzie Application_Start w pliku Global.asax w następujący sposób:

    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 dla sieci Web przestaje działać po dodaniu elementu szkieletowego

Jeśli Visual Studio Express 2012 dla sieci Web przestanie działać po dodaniu elementu szkieletowego z programem Entity Framework (takim jak kontroler internetowego interfejsu API 2 z akcjami, przy użyciu programu Entity Framework), możliwe, że Visual Studio Express nie załadować obrazu natywnego zestawu zależnego od elementu System.Web.Extensions.

Aby rozwiązać ten problem, skonfiguruj Visual Studio Express do pracy z obrazem MSIL programu System.Web.Extensions:

  1. Otwórz wiersz polecenia w trybie administratora.

  2. Przejdź do folderu %ProgramFiles%\Microsoft Visual Studio 11.0\Common7\IDE lub %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE (dla 64-bitowego systemu Windows).

  3. Otwórz VWDExpress.exe.config w edytorze tekstów.

  4. Dodaj następujący wiersz w elemecie <configuration>/<runtime> :

    <disableNativeImageLoad>
        <assemblyIdentity name="System.Web.Extensions" />
    </disableNativeImageLoad>
    
  5. Uruchom ponownie Visual Studio Express 2012 dla sieci Web.

ASP.NET Razor 3

Wyświetlanie pliku cshtml za pomocą polecenia Przeglądaj za pomocą klawisza F5 lub powoduje błąd serwera

Podczas tworzenia projektu MVC 5 w programie Visual Studio 2012 (lub otwarciu w programie Visual Studio 2012 w projekcie MVC 5, który został utworzony w Visual Studio 2013) i próbie wyświetlenia pliku cshtml przy użyciu funkcji Przeglądaj za pomocą lub F5, zostanie wyświetlony komunikat o błędzie z informacją o błędzie serwera w aplikacji "/". Serwer próbuje przejść do http://localhost:XXXX/Views/../XXXX.cshtml

Aby rozwiązać ten problem, zmień ustawienie Rozpocznij akcję w projekcie na konkretną stronę. Nie musisz podawać wartości dla strony.

Zrzut ekranu przedstawiający wybraną konkretną stronę w obszarze Sieć Web.

Po wprowadzeniu tej zmiany wybranie klawisza F5 powoduje przejście do katalogu głównego aplikacji (http://localhost:XXXX). To zachowanie nie jest takie samo jak zachowanie dla projektów MVC 5 w Visual Studio 2013, gdzie ustawienie Bieżąca strona uruchamia otwartą stronę.

Ponowne zapisywanie adresów URL i Tilde(~)

Po uaktualnieniu do ASP.NET Razor 3 lub ASP.NET MVC 5 notacja tyldy (~) może przestać działać poprawnie, jeśli używasz ponownego zapisywania adresów URL. Ponowne zapisywanie adresu URL wpływa na notację tyldy(~) w elementach HTML, takich jak <A/>, <SCRIPT/>, <LINK/>, i w związku z tym tylda nie jest już mapowania na katalog główny.

Jeśli na przykład ponownie napiszesz żądania asp.net/content do asp.net, atrybut href w <A href="~/content/"/> zostanie rozpoznany jako /content/content/ zamiast /. Aby pominąć tę zmianę, można ustawić kontekst IIS_WasUrlRewritten na wartość false w każdej stronie sieci Web lub w Application_BeginRequest w pliku Global.asax.

Szablony

Podczas tworzenia projektów ASP.NET MVC przy użyciu programu Visual Studio 2012 w Windows 8.1 lub Windows Server 2012 R2 program Visual Studio wyświetla komunikat o błędzie z komunikatem "Konfigurowanie sieci Web [url] dla ASP.NET 4.5 nie powiodło się".

błąd konfiguracji

Ten błąd jest wyświetlany, ponieważ program Visual Studio 2012 nie włącza funkcji ASP.NET 4.5 po zainstalowaniu jej w tych wersjach systemu Windows. Aby włączyć ASP.NET 4.5, wykonaj kroki opisane w temacie Włączanie lub wyłączanie funkcji systemu Windows.

włączanie lub wyłączanie funkcji systemu Windows

Alternatywnie można włączyć ASP.NET 4.5 za pomocą wiersza polecenia.

  1. Otwórz wiersz polecenia w trybie administratora.
  2. Uruchom następujące polecenie, aby włączyć ASP.NET 4.5.
    dism /Online /Enable-Feature /FeatureName:NetFx4Extended-ASPNET45 /Quiet /NoRestart