2009-06-27 4 views
10

Quando uso:Come sapere se asp.net 3.5 sp1 e asp.net mvc sono installati nel server?

System.Environment.Version 

Il risultato è "2.0.50727.3053"

so che 3.5 è compatibile e in IIS è identificato come 2.0, bla bla ...

lo farei piace conoscere la versione esatta di .net installata e se sono installate altre risorse, come ASP.NET MVC, ecc. Il problema è che il sito Web è installato in un hosting condiviso, quindi posso chiedere informazioni sul supporto tecnico, ma se lo so a livello programmatico, è molto meglio.

saluti

+2

Mi piace questo domanda, soprattutto a causa dell'opzione di hosting condiviso che probabilmente escluderà la maggior parte del file system e delle soluzioni basate sul registro! –

+0

Se ti piace una domanda, vuoi farlo. – womp

+0

Scusa, un po 'nuovo qui. L'ho aggiunto come preferito! –

risposta

2

ASP.NET MVC non è integrato in Microsoft .NET Framework 3.5 SP1.

See this post

ho voluto chiarire un po 'di confusione che ho visto in giro per il web su ASP.NET MVC e .NET Framework 3.5 Service Pack 1. ASP.NET MVC non è stato rilasciato come parte di SP1. I ripetizione , ASP.NET 3.5 SP1 non include ASP.NET MVC.

Ciò che è stato rilasciato con SP1 è stata la caratteristica ASP.NET Routing, che è in uso sia da ASP.NET MVC e Dynamic dati.

Così ce l'hai, dalla bocca del cavallo (Haacked di nuovo;).

+0

Sei sicuro di questo? Sono certo che ASP.NET MVC era un programma di installazione separato che richiedeva .NET 3.5 SP1 come prerequisito. –

+0

Questo non è corretto. L'instradamento URL ASP.net è stato elaborato e MVC lo utilizza pesantemente, ma MVC è ancora un'installazione separata anche se si dispone di 3.5 SP1. Vedi qui: http://msdn.microsoft.com/en-us/library/s57a598e.aspx#ASPNETSP1 – rifferte

+0

Nel caso in cui qualcuno ne abbia bisogno, il link di installazione MVC: http://www.microsoft.com/downloads/details. aspx? FamilyID = 53289097-73ce-43bf-b6a6-35e00103cb4b & displaylang = it – rifferte

1

Il problema è che si sta mescolando la versione del compilatore/runtime con le versioni del framework.

In esecuzione System.Environment.Version otterrà 2.0 - che è vero - ma non è quello che stai cercando.

Stai cercando una risposta una tantum o qualcosa da usare più e più volte? Se vuoi veramente sapere - carica un'app di MVC di esempio e controlla se funziona. Altrimenti dovrai controllare a livello di codice cosa è installato sulla macchina su cui stai lavorando.

+0

qualcosa da usare più e più volte ... Installa un sacco di piccoli siti Web asp.net ed è una bella informazione da sapere prima di installare ... –

7

Non sono sicuro, ma provare qualcosa di simile:

bool mvcInstalled = true; 

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

AGGIORNAMENTO:

sapere se .NET 3.5 SP1 è installato controllo per System.Web.Abstractions assemblaggio

+0

I come questa soluzione. Questo potrebbe essere davvero utile in molte situazioni, non solo MVC. –