Compartilhar via


O que está obsoleto no .NET Framework

A.NET Framework alterações ao longo do tempo. Cada nova versão adiciona novos tipos e membros de tipo para fornecem nova funcionalidade. Tipos existentes e seus membros também alteram ao longo do tempo. Por exemplo, alguns tipos que se tornam menos importantes, como a tecnologia que dão suporte é substituída por uma nova tecnologia, e alguns métodos são substituídos por novos métodos que são mais conveniente ou mais completo-em destaque.

A.NET Framework e o Common Language Runtime nos empenhamos para oferecer suporte à compatibilidade com versões anteriores (permitindo que os aplicativos que foram desenvolvidos com uma versão do.NET Framework para executar na próxima versão do.NET Framework). Isso dificulta simplesmente remover um tipo ou membro de um tipo. Em vez disso, o.NET Framework indica que um tipo ou membro de um tipo não deve ser usado, marcando-o como obsoleto ou preterido. A substituição de um tipo ou membro envolve marcá-la para que os desenvolvedores estão cientes, ele desaparece e ter tempo para responder a sua remoção. Entretanto, o código existente que usa o tipo ou membro continua a executar na nova versão do.NET Framework.

Observação

Os termos obsoleto e preterido têm o mesmo significado quando aplicado a tipos e membros da.NET Framework.

O atributo ObsoleteAttribute

A.NET Framework indica que um tipo ou membro de tipo é obsoleto , marcando-o com o ObsoleteAttribute atributo. Aplicar o atributo para um tipo ou membro indica que esse tipo ou membro será removido em alguma futura versão do.NET Framework sem quebra compilado código que usa esse membro.

Para além de indicando um tipo ou membro de um tipo é obsoleto, ObsoleteAttribute define como o compilador trata o código fonte , que inclui esse tipo ou membro. O compilador pode compilar o código mas emitirá uma mensagem de aviso , ou ele pode tratar o uso do tipo ou membro como um erro. No primeiro caso, o código com êxito pode compilar, mas uma mensagem de aviso que indica o tipo ou membro está obsoleto. No segundo caso, a compilação falhará.

Mesmo se a compilação produz um erro em vez de uma mensagem de aviso , ObsoleteAttribute não afeta a execução-comportamento do tempo. Ou seja, os aplicativos que usam o tipo ou membro e que compilou com êxito serão sempre executados com êxito. Somente a tentativa de recompilar um aplicativo que usa o tipo ou membro falhar.

Como lidar com os membros e tipos obsoletos

Quando você atualizar e recompilar o código existente, usando um obsoleto tipo ou membro que produz um aviso do compilador em seu aplicativo é perfeitamente aceitável. No entanto, você deve examinar a mensagem de aviso do compilador para determinar se você deve alterar o código do seu aplicativo . Se a mensagem não aponta para uma alternativa adequada, faça o seguinte:

  • Alterar seu código, removendo o uso do tipo ou membro, se possível.

    - ou -

  • Revise a documentação para esta tecnologia de área determinar como responder para a substituição.

Você pode optar por não recompilar o código existente em relação a uma versão posterior do.NET Framework. Em vez disso, você pode especificar a versão do.NET Framework que seu código compilado é executado. Por exemplo, suponha que você tenha um aplicativo chamado App1. exe que foi compilado contra o .NET Framework 3.5, mas deseja que o aplicativo para executar contra o .NET Framework 4. Isso requer as seguintes etapas:

  1. Crie um arquivo de configuração para o seu principal executável e nomeie- appName. exe, onde appName é o nome doexecutáveldo aplicativo. Para o aplicativo chamado App1. exe em nosso exemplo, seria criar um arquivo de configuração chamado app1.exe.config.

  2. Adicionar o seguinte ao arquivo de configuração .

    <configuration>
       <startup> 
          <supportedRuntime version="v4.0" />
       </startup>
    </configuration>
    

A tabela a seguir lista os valores de seqüência de caracteres que você pode atribuir ao version atributo para o destino de uma versão de específica da.NET Framework.

.NET Framework versão

versionseqüência de caracteres

4

v 4.0

3.5

v2.0.50727

2.0

v2.0.50727

1.1

v 1.1.4322

1.0

v 1.0.3705

Obsoleto listas para o.NET Framework 4

Tipos obsoletos

Membros obsoletos

Obsoleto listas para versões Anterior

.NET Framework 3.5 obsoleto Lista

.NET Framework 2.0 obsoleto Lista

Consulte também

Referência

<supportedRuntime> Elemento