2012-08-24 11 views
6

Mam własny serwer i mam nadzieję na uaktualnienie jednego z moich rozwiązań do ASP.NET MVC 4, przed uaktualnieniem reszty (3+).Dla MVC 4, jaka jest różnica między Microsoft.AspNet.Mvc i System.Web.Mvc?

W ramach tego pobrałem dla ASP.NET MVC 4 i uruchomiłem go na moim serwerze Server 2008 R2, ponieważ Web Platform Installer 4.0 ma aktualizację narzędzi, która chce zainstalować Express i mnóstwo innych aplikacji.

Ten instalator utworzył katalog C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies przy użyciu pliku System.Web.Mvc.dll.

przeszedłem the manual upgrade notes for MVC 3 to MVC 4 i właśnie natknąć punkcie 3:

W Solution Explorer, kliknij prawym przyciskiem myszy na referencje i wybierz Zarządzaj Nuget pakiety. W lewym okienku wybierz Updates \ All, a następnie zaktualizować następujący:

  • ASP.NET MVC 4
  • (opcjonalnie) jQuery, jQuery Validation i jQuery UI
  • (opcjonalnie) Entity Framework
  • (Optonal) modernizr

z tego co mogę powiedzieć ASP.NET MVC 4 odnosi się do this NuGet package, który jest obecnie zawarte w programie Microsoft ASP.NET MVC 4 (Microsoft.AspNet.Mvc) i wydaje się, że jest przeznaczony do instalacji na współdzielonym hostingu i platformach chmurowych.

A może czegoś brakuje? Czy istnieje powód, aby zainstalować ten pakiet, nawet jeśli mam własny serwer i mogę zainstalować/zaktualizować .NET Frameworks, tak jak chcę?

EDYCJA: Zwróć uwagę, że sprawdzenie nagłówków (jeszcze go nie wyłączam) pokazuje, że wersja MVC dla witryny to 4.0, a to bez pakietu NuGet. Czy to poprawki/funkcje, które nie zostały wprowadzone do głównego pakietu? Czy jest to przede wszystkim dla dzielonego środowiska hostingowego? Jeśli go zatrzymam, spowoduje to pewną utratę wydajności (uważam, że niepotrzebnie zwiększone zużycie pamięci zostanie przez nią objęte), jeśli MVC 4 jest już zainstalowany?

Odpowiedz

4

O ile mi wiadomo, są one dokładnie takie same. Mimo że pakiet NuGet nosi nazwę Microsoft.AspNet.Mvc, tworzony plik DLL ma nazwę System.Web.Mvc.dll. Ma taki sam rozmiar, podpis zespołu, itp., Co plik System.Web.MVC w GAC.

Na razie, nawet jeśli odwołasz się do obu złożeń, .NET powinien rozpoznać, że są one dokładnie takie same i załadować tylko jeden z nich. Możliwe, że Microsoft przesuwa pakiet NuGet, aby ułatwić aktualizację, gdy pojawią się nowe wersje, które nie są oparte na podstawowych plikach .NET 4.5. A może, jak zgadujesz, pakiet NuGet sprawia, że ​​możesz uruchomić aplikację MVC w systemie, w którym nie możesz zainstalować MVC.

Powiązane problemy