Cosa fa effettivamente l'impostazione "Versione .NET Framework" in IIS?


19

Sembra una domanda ovvia, ma sto cercando di determinare cosa cambia effettivamente il pulsante "Cambia versione .NET Framework" nel pannello di configurazione IIS di livello superiore. Su tutti i miei server, è sempre stato lasciato alla v2.0. I miei pool di applicazioni sono una combinazione di v2.0 e v4.0 e tutte le mie applicazioni v4.0 funzionano correttamente.

Quindi, cosa controlla questo numero di versione? Cosa farebbe affidamento su ciò che non verrebbe assegnato a un pool di applicazioni? Sembra strano.

L'impostazione in questione è illustrata di seguito:

inserisci qui la descrizione dell'immagine

Risposte:


13

Fa in modo che IIS punti a diversi file di configurazione a livello di root per .NET. Questi file a livello di root risiedono nelle cartelle di installazione del framework in%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

IIS cerca i file di configurazione per sé in %systemroot%\system32\inetsrv\config\applicationHost.config
e per .NET in
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

La modifica della versione .NET cambia quale machine.config viene utilizzato. Ad esempio, cambiandolo in v2.050727 lo vedrà %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Passare a v4.0.30319 lo vedrà%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Le applicazioni ereditano le cose dalle impostazioni di configurazione a livello di root.

Dai un'occhiata a questo articolo che delinea il sistema di configurazione e mostra la gerarchia di configurazione.


3

Secondo TechNet , questa impostazione controlla la versione "Default" di .NET Framework.

A livello di pool di applicazioni, questa impostazione controlla il framework utilizzato per ospitare le applicazioni associate al pool. A livello di server, questa impostazione non sembra avere alcun effetto immediato o evidente sui siti .NET 4.0 o 2.0 in esecuzione sul mio server di prova, tuttavia dubito che sarebbe un'opzione se non avesse fatto nulla. La sua posizione nella sezione Distribuisci del riquadro Azioni mi fa chiedere se influirebbe anche sui pacchetti di importazione / esportazione che si trovano lì. Ho intenzione di testarlo.

Ho trovato un thread correlato su iis.net che sembra indicare che questa impostazione influirebbe sulle sezioni del file di configurazione che sono supportate per impostazione predefinita senza aggiungere all'inizio dei file.

Non ho trovato molto altro nella ricerca sul web, sembra un'ambientazione piuttosto oscura.

Modifica: la risposta di Squillman è migliore.


1
Stavo per rispondere nello stesso identico modo, ma poi ho riletto la domanda: sta parlando dell'impostazione di livello superiore in IIS, non di un pool di applicazioni specifico. E che l'impostazione non ha senso neanche a me, in quanto v'è non è una versione "globale" .NET in IIS, si tratta di un pool di applicazioni - specifica impostazione.
Massimo

Sì, hai ragione, grazie per il commento. Dovrò modificare la mia risposta.
jbuch

2
Si noti inoltre che .NET 4.5 è un'estensione di 4.0, non introduce un nuovo runtime.
Richard,

A quanto pare, la mia risposta originale era relativa ai pool di applicazioni ed è chiaro ora che ci si riferisce all'opzione "Modifica versione .NET Framework" nel riquadro "Azioni" quando si fa clic sul nodo del server in Gestione IIS attrezzo. Quindi in pratica non sono stato di aiuto, se non riuscissi a trovare una risposta migliore in pochi minuti, eliminerò la mia risposta.
jbuch
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.