2009-06-27 11 views
10

Gdy używam:Jak sprawdzić, czy asp.net 3.5 sp1 i asp.net mvc są zainstalowane na serwerze?

System.Environment.Version 

Rezultatem jest "2.0.50727.3053"

wiem, że 3.5 jest kompatybilny w IIS jest identyfikowany jako 2.0, bla bla ...

bym lubię znać dokładną wersję .net zainstalowaną i czy są zainstalowane inne zasoby, takie jak ASP.NET MVC itd. Problem polega na tym, że witryna jest zainstalowana we wspólnym hostingu, więc mogę zapytać o to, czy otrzymam wsparcie techniczne, ale jeśli wiem programowo, to o wiele lepiej.

Pozdrowienia

+2

Lubię to pytanie, zwłaszcza ze względu na wspólne zastrzeżenie hostingu, które prawdopodobnie wykluczy większość rozwiązań opartych na systemie plików i rejestrze! –

+0

Jeśli podoba ci się pytanie, przekaż mu. – womp

+0

Przepraszam, trochę nowe tutaj. Dodałem go jako ulubiony! –

Odpowiedz

2

ASP.NET MVC nie jest wbudowany w Microsoft .NET Framework 3.5 SP1.

See this post

chciałem rozjaśnić trochę zamieszania wokół widziałem w internecie o ASP.NET MVC i .NET Framework 3.5 Service Pack 1. ASP.NET MVC nie został wydany jako część SP1. I powtórzyć, ASP.NET 3.5 SP1 nie zawierają ASP.NET MVC.

co został zwolniony z dodatkiem SP1 był ASP.NET Routing cecha , który jest w użytku zarówno ASP.NET MVC i dynamiczny Danych.

Tak, masz go z paszczy konia (ponownie wyrzucony;).

+0

Czy jesteś tego pewien? Jestem pewien, że ASP.NET MVC był oddzielnym instalatorem, który wymagał .NET 3.5 SP1 jako warunek wstępny. –

+0

To nie jest poprawne. Routing adresu URL w ASP.net został wypalony, a MVC używa go w dużej mierze - ale MVC jest wciąż oddzielną instalacją, nawet jeśli masz 3.5 SP1. Zobacz tutaj: http://msdn.microsoft.com/en-us/library/s57a598e.aspx#ASPNETSP1 – rifferte

+0

Jeśli ktoś tego potrzebuje - link instalacyjny MVC: http://www.microsoft.com/downloads/details. aspx? FamilyID = 53289097-73ce-43bf-b6a6-35e00103cb4b & displaylang = en – rifferte

1

Problem polega na tym, że mieszasz wersję kompilatora/uruchomionego czasu z wersjami szkieletowymi.

Uruchamianie System.Environment.Version dostanie 2,0 - co jest prawdą - ale to nie jest to, czego szukasz.

Szukasz jednorazowej odpowiedzi lub czegoś, co będzie używane w kółko? Jeśli naprawdę chcesz wiedzieć - prześlij przykładową aplikację MVC i sprawdź, czy działa. W przeciwnym razie będziesz musiał programowo sprawdzić, co jest zainstalowane na komputerze, na którym pracujesz.

+0

coś do wykorzystania w kółko ... Instaluję mnóstwo małych stron asp.net i jest to fajna informacja, którą należy wiedzieć przed instalacją ... –

7

Nie jestem pewien, ale spróbuj coś takiego:

bool mvcInstalled = true; 

try 
{ 
    System.Reflection.Assembly.ReflectionOnlyLoad(
     "System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"); 
} 
catch() 
{ 
    mvcInstalled = false; 
} 

AKTUALIZACJA:

Aby wiedzieć, czy .NET 3.5 SP1 jest zainstalowany czek do montażu System.Web.Abstractions

+0

I lubię to rozwiązanie. Może to być przydatne w wielu sytuacjach, nie tylko w MVC. –

Powiązane problemy