Elemento <supportedRuntime>

Especifica qual versão do Common Language Runtime e, opcionalmente, do .NET Framework são compatíveis com o aplicativo.

<configuração>
  <startup>
    <supportedRuntime>

Syntax

<supportedRuntime version="runtime version" sku="SKU ID"/>

Atributos

Atributo Descrição
version Atributo opcional.

Um valor de cadeia de caracteres que especifica a versão do Common Language Runtime (CLR) a qual esse aplicativo oferece suporte. Para obter valores válidos do atributo version, confira a seção valores de “versão de runtime”. Observação: no .NET Framework 3.5, o valor da "versão de runtime" assume a forma maior.menor.build. A partir do .NET Framework 4, somente os números das versões principal e secundária são necessários (isto é, "v4.0" em vez de "v4.0.30319"). A cadeia de caracteres mais curta é recomendada.
sku Atributo opcional.

Um valor de cadeia de caracteres que especifica a SKU (unidade de manutenção de estoque), que, por sua vez, especifica a qual versão do .NET Framework esse aplicativo dá suporte.

A partir do .NET Framework 4.0, o uso do atributo sku é recomendado. Quando presente, ele indica a versão do .NET Framework que o aplicativo tem como destino.

Para obter valores válidos do atributo sku, confira a seção valores da “ID do SKU”.

Comentários

Se o elemento <supportedRuntime> não estiver presente no arquivo de configuração de aplicativo, a versão do runtime usada para compilar o aplicativo será usada.

O elemento <supportedRuntime> deve ser usado por todos os aplicativos criados usando a versão 1.1 ou posterior do tempo de execução. Os aplicativos desenvolvidos para oferecer suporte somente à versão 1.0 do tempo de execução devem usar o elemento <requiredRuntime>.

Observação

Se você usar a função CorBindToRuntimeByCfg para especificar o arquivo de configuração, o elemento <requiredRuntime> deverá ser usado para todas as versões do runtime. O elemento <supportedRuntime> é ignorado quando você usa CorBindToRuntimeByCfg.

Para aplicativos que dão suporte a versões do runtime do .NET Framework 1.1 a 3.5, quando há suporte para várias versões do runtime, o primeiro elemento deve especificar a versão mais preferencial do runtime e o último elemento deve especificar a versão menos preferencial. Para aplicativos que dão suporte do .NET Framework 4.0 ou versões posteriores, o atributo version indica a versão do CLR, que é comum no .NET Framework 4 e versões posteriores, e o atributo sku indica a única versão do .NET Framework direcionada ao aplicativo.

Se o elemento <supportedRuntime> com o atributo sku estiver presente no arquivo de configuração e a versão do .NET Framework instalada for inferior à versão com suporte especificada, o aplicativo não será executado e, em vez disso, exibirá uma mensagem solicitando a instalação da versão com suporte. Caso contrário, o aplicativo tentará ser executado em qualquer versão instalada, mas poderá se comportar inesperadamente se não for totalmente compatível com essa versão. (Para obter diferenças de compatibilidade entre versões do .NET Framework, confira Compatibilidade do aplicativo no .NET Framework.) Portanto, recomendamos que você inclua esse elemento no arquivo de configuração do aplicativo para facilitar o diagnóstico de erro. (O arquivo de configuração gerado automaticamente pelo Visual Studio ao criar um novo projeto já o contém.)

Observação

Se seu aplicativo usa caminhos de ativação herdados, como a função CorBindToRuntimeEx, e você desejar esses caminhos para ativar a versão 4 do CLR em vez de uma versão anterior, ou se seu aplicativo for criado com o .NE Framework 4, mas tiver uma dependência em um assembly de modo misto criado com uma versão anterior do .NET Framework, não será suficiente especificar o .NET Framework 4 na lista de runtimes com suporte. Além disso, no elemento <startup>, em seu arquivo de configuração, você deve definir o atributo useLegacyV2RuntimeActivationPolicy como true. No entanto, definir esse atributo como true significa que todos os componentes criados com versões anteriores do .NET Framework serão executados usando o .NET Framework 4 em vez dos runtimes com os quais eles foram criados.

Recomendamos que você teste aplicativos com todas as versões do .NET Framework na qual eles podem ser executados.

valores de “versão de runtime”

O atributo runtime especifica a versão CLR (Common Language Runtime) necessária para um determinado aplicativo. Todas as versões v4.x do .NET Framework especificam o CLR v4.0. A tabela a seguir lista valores válidos para o valor da versão de runtime do atributo version.

Versão do .NET Framework Atributo version
1,0 "v1.0.3705"
1,1 "v1.1.4322"
2,0 "v2.0.50727"
3,0 "v2.0.50727"
3,5 "v2.0.50727"
4.0-4.8.1 "v4.0"

Valores de “ID do SKU”

O atributo sku usa um TFM (Moniker da Estrutura de Destino) para indicar a versão do .NET Framework que o aplicativo tem como destino e requer para execução. A tabela a seguir lista valores válidos compatíveis com o atributo sku, começando com o .NET Framework 4.

Versão do .NET Framework Atributo sku
4,0 ".NETFramework,Version=v4.0"
4.0, Perfil do Cliente ".NETFramework,Version=v4.0,Profile=Client"
4.0, atualização de plataforma 1 ".NETFramework,Version=v4.0.1"
4.0, Perfil do Cliente, atualização 1 ".NETFramework,Version=v4.0.1,Profile=Client"
4.0, atualização de plataforma 2 ".NETFramework,Version=v4.0.2"
4.0, Perfil do Cliente, atualização 2 ".NETFramework,Version=v4.0.2,Profile=Client"
4.0, atualização de plataforma 3 ".NETFramework,Version=v4.0.3"
4.0, Perfil do Cliente, atualização 3 ".NETFramework,Version=v4.0.3,Profile=Client"
4.5 ".NETFramework,Version=v4.5"
4.5.1 ".NETFramework,Version=v4.5.1"
4.5.2 ".NETFramework,Version=v4.5.2"
4,6 ".NETFramework,Version=v4.6"
4.6.1 ".NETFramework,Version=v4.6.1"
4.6.2 ".NETFramework,Version=v4.6.2"
4.7 ".NETFramework,Version=v4.7"
4.7.1 ".NETFramework,Version=v4.7.1"
4.7.2 ".NETFramework,Version=v4.7.2"
4.8 ".NETFramework,Version=v4.8"
4.8.1 ".NETFramework,Version=v4.8.1"

Exemplo

O exemplo a seguir mostra como especificar a versão de tempo de execução com suporte em um arquivo de configuração. O arquivo de configuração indica que o aplicativo tem como destino o .NET Framework 4.7.

<configuration>
   <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
   </startup>
</configuration>

Arquivo de configuração

Este elemento pode ser usado no arquivo de configuração do aplicativo.

Confira também