2009-06-27 10 views
10

Wenn ich benutze:Wie kann ich wissen, ob asp.net 3.5 sp1 und asp.net mvc auf dem Server installiert sind?

System.Environment.Version 

Das Ergebnis ist "2.0.50727.3053"

Ich weiß, dass 3.5 kompatibel ist und in IIS ist als 2.0, bla bla identifiziert ...

würde ich gerne wissen, die genaue .net-Version installiert und wenn eine andere Ressourcen installiert sind, wie ASP.NET MVC, etc. Das Problem ist, dass die Website in einem Shared-Hosting installiert ist, so kann ich über diese Ressourcen Tech-Support fragen, aber Wenn ich es programmatisch kenne, ist es viel besser.

Grüße

+2

I like this Frage, vor allem wegen des Shared-Hosting-Vorbehalts, der wahrscheinlich die meisten Dateisystem- und Registry-basierten Lösungen ausschließen wird! –

+0

Wenn Sie eine Frage mögen, upvote es. – womp

+0

Sorry, ein bisschen neu hier. Ich habe es als Favorit hinzugefügt! –

Antwort

2

ASP.NET MVC ist nicht eingebaut in Microsoft .NET Framework 3.5 SP1.

See this post

Ich wollte ein bisschen Verwirrung aufzuräumen ich rund um die Web über ASP.NET MVC und .NET Framework 3.5 Service Pack 1. ASP.NET MVC gesehen habe wurde nicht als Teil von SP1 veröffentlicht. I wiederholen, enthält ASP.NET 3.5 SP1 nicht ASP.NET MVC.

Was mit SP1 veröffentlicht wurde, war die ASP.NET-Routing-Funktion, die sowohl von ASP.NET MVC und Dynamic Daten in Gebrauch ist.

Also da haben Sie es, aus dem Maul des Pferdes (wieder hacked;).

+0

Sind Sie sich sicher? Ich bin sicher, dass ASP.NET MVC ein separates Installationsprogramm war, das .NET 3 benötigt.5 SP1 als Voraussetzung. –

+0

Das ist nicht korrekt. ASP.NET URL Routing wurde eingebrannt, und MVC verwendet es stark - aber MVC ist immer noch eine separate Installation, auch wenn Sie 3.5 SP1 haben. Siehe hier: http://msdn.microsoft.com/en-us/library/s57a598e.aspx#ASPNETSP1 – rifferte

+0

Falls jemand es braucht - der MVC Link installieren: http://www.microsoft.com/downloads/details. aspx? FamilyID = 53289097-73ce-43bf-b6a6-35e00103cb4b & displaylang = de – rifferte

1

Das Problem, das Sie haben, ist, dass Sie die Compiler-/Laufzeitversion mit den Framework-Versionen vermischen.

Running System.Environment.Version erhalten Sie 2.0 - was wahr ist - aber das ist nicht das, was Sie suchen.

Suchen Sie eine einmalige Antwort oder etwas, das immer wieder verwendet werden soll? Wenn Sie wirklich wissen wollen - laden Sie eine Beispiel-MVC-App hoch und sehen Sie, ob sie läuft. Andernfalls müssen Sie programmatisch überprüfen, was auf dem Computer installiert ist, auf dem Sie ausgeführt werden.

+0

etwas immer und immer wieder verwendet werden ... Ich installiere eine Tonne von kleinen asp.net-Websites und es ist eine schöne Info vor dem Installieren ... –

7

nicht sicher, aber versuchen, so etwas wie dieses:

bool mvcInstalled = true; 

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

AKTUALISIERT:

Um zu wissen, ob .NET 3.5 SP1-Check für System.Web.Abstractions Baugruppe installiert ist

+0

I wie diese Lösung. Dies könnte in vielen Situationen nützlich sein, nicht nur in MVC. –