O que a configuração ".NET Framework Version" no IIS realmente faz?

19

Parece uma pergunta óbvia, mas estou tentando determinar o que realmente muda no botão "Alterar versão do .NET Framework" no painel de configuração do IIS de nível superior. Em todos os meus servidores, ele sempre foi deixado na v2.0. Meus pools de aplicativos são uma mistura das v2.0 e v4.0 e todos os meus aplicativos v4.0 funcionam corretamente.

Então, o que esse número de versão controla? O que confiaria nisso que não seria atribuído a um pool de aplicativos? Parece estranho.

A configuração em questão é mostrada abaixo:

insira a descrição da imagem aqui

John Hargrove
fonte

Respostas:

13

Faz o IIS apontar para diferentes arquivos de configuração no nível raiz do .NET. Esses arquivos no nível raiz residem nas pastas de instalação da estrutura em%systemroot%\Microsoft.NET\Framework\<version>\CONFIG

O IIS procura por arquivos de configuração em si %systemroot%\system32\inetsrv\config\applicationHost.config
e no .NET em
%systemroot%\Microsoft.NET\Framework\<version>\CONFIG\machine.config

Alterar a versão .NET alterna com o qual o machine.config é usado. Por exemplo, alterá-lo para v2.050727 fará com que ele veja %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config. Mudar para v4.0.30319 fará com que ele olhe%systemroot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config

Os aplicativos herdam coisas das definições de configuração no nível raiz.

Dê uma olhada neste artigo que descreve o sistema de configuração e mostra a hierarquia de configuração.

squillman
fonte
3

De acordo com o TechNet , essa configuração controla a versão do .NET Framework "Padrão".

No nível do pool de aplicativos, essa configuração controla a estrutura usada para hospedar aplicativos associados ao pool. No nível do servidor, essa configuração não parece ter nenhum efeito imediato ou óbvio nos sites .NET 4.0 ou 2.0 em execução no meu servidor de teste; no entanto, duvido que seria uma opção se não fizesse nada. Sua localização na seção Implantar do painel Ações me faz pensar se isso afetaria os pacotes de importação / exportação localizados lá também. Eu vou testar isso.

Encontrei um tópico relacionado no iis.net que parece indicar que essa configuração afetaria as seções do arquivo de configuração que são suportadas por padrão sem serem adicionadas ao topo dos arquivos.

Não encontrei muito mais pesquisando na web, parece uma configuração bastante obscura.

Edit: A resposta do squillman é melhor.

jbuch
fonte
1
Eu ia responder exatamente da mesma maneira, mas depois reli a pergunta: ele está falando sobre a configuração de nível superior no IIS, não sobre um pool de aplicativos específico. E essa definição não faz sentido para mim também, pois há não qualquer versão "global" .NET no IIS, este é um pool de aplicativos - configuração específica.
Massimo
Sim, você está correto, obrigado pelo comentário. Vou ter que editar minha resposta.
jbuch
2
Observe também que o .NET 4.5 é uma extensão da 4.0, não apresenta um novo tempo de execução.
Richard
Como se vê, minha resposta original estava relacionada aos pools de aplicativos e agora está claro que você está se referindo à opção "Alterar versão do .NET Framework" no painel "Ações" ao clicar no nó do servidor no Gerenciador do IIS ferramenta. Então, basicamente, eu não ajudava, se não conseguir encontrar uma resposta melhor em alguns minutos, vou excluir minha resposta.
22412 jbuch