Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O .NET Framework foi alterado ao longo do tempo. Cada nova versão adicionou novos tipos e membros de tipo que forneceram novas funcionalidades. Os tipos existentes e seus membros também foram alterados ao longo do tempo. Por exemplo, alguns tipos se tornaram menos importantes, pois a tecnologia que eles apoiavam foi substituída por uma nova tecnologia, e alguns métodos foram substituídos por métodos mais recentes que são superiores de alguma forma.
O .NET Framework e o common language runtime se esforçam para dar suporte à compatibilidade com versões anteriores (permitindo que aplicativos desenvolvidos com uma versão do .NET Framework sejam executados na próxima versão do .NET Framework). Isso dificulta a simples remoção de um tipo ou de um membro de tipo. Em vez disso, o .NET Framework indicou que um tipo ou membro de tipo não deve mais ser usado marcando-o como obsoleto ou preterido. Ao obsoletar um tipo ou um membro, os desenvolvedores estavam cientes de que ele iria embora e tiveram tempo de responder à sua remoção. No entanto, o código existente que usa o tipo ou membro continuou a ser executado na nova versão do .NET.
Observação
No .NET (Core), tornar uma API obsoleta não significa necessariamente que a API será removida. Para obter mais informações, consulte a remoção de API no .NET.
O atributo ObsoleteAttribute
O .NET Framework indica que um tipo ou membro do tipo está obsoleto marcando-o com o atributo ObsoleteAttribute. Aplicar o atributo a um tipo ou membro indica que o tipo ou membro será removido em alguma versão futura sem quebrar o código compilado que usa esse membro.
Além de indicar que um tipo ou membro de tipo é obsoleto, ObsoleteAttribute define como o compilador lida com o código-fonte que inclui esse tipo ou membro. O compilador pode compilar o código, mas emitir uma mensagem de aviso ou pode tratar o uso do tipo ou membro como um erro. No primeiro caso, o código pode ser compilado com êxito, mas uma mensagem de aviso indica que o tipo ou membro está obsoleto. No segundo caso, a compilação falha.
Mesmo que a compilação produza um erro em vez de uma mensagem de aviso, ObsoleteAttribute não afeta o comportamento em tempo de execução. Ou seja, os aplicativos que usam o tipo ou membro e que foram compilados com êxito sempre serão executados com êxito. Somente a tentativa de recompilar um aplicativo que usa o tipo ou membro falha.
Como lidar com tipos e membros obsoletos
Quando você atualiza e recompila o código existente, usar um tipo ou membro obsoleto que produz um aviso do compilador em seu aplicativo é aceitável. No entanto, você deve examinar a mensagem de aviso do compilador para determinar se deve alterar o código do aplicativo. Se a mensagem não apontar para uma alternativa adequada, você deverá fazer um dos seguintes procedimentos:
Altere seu código removendo o uso do tipo ou do membro, se possível.
- ou -
Examine a documentação dessa área de tecnologia para determinar como responder à substituição.
Você pode optar por não recompilar o código existente em uma versão posterior do .NET Framework. Em vez disso, você pode especificar a versão do .NET Framework na qual o código compilado existente é executado. Por exemplo, suponha que você tenha um aplicativo chamado app1.exe que foi compilado no .NET Framework 3.5, mas deseja que o aplicativo seja executado no .NET Framework 4.5. Isso requer as seguintes etapas:
Crie um arquivo de configuração para o executável principal e nomeie-o como appName.exe.config, em que appName é o nome do executável do aplicativo. Para o aplicativo chamado app1.exe em nosso exemplo, você criaria um arquivo de configuração chamado app1.exe.config.
Adicione o seguinte ao arquivo de configuração.
<configuration> <startup> <supportedRuntime version="v4.0" /> </startup> </configuration>
Para direcionar uma versão específica do .NET Framework, atribua um dos seguintes valores de cadeia de caracteres ao version
atributo:
Versão do .NET Framework | cadeia de caracteres version |
---|---|
4.8 (incluindo 4.8.1) | v4.0 |
4.7 (incluindo 4.7.1 e 4.7.2) | v4.0 |
4.6 (incluindo 4.6.1 e 4.6.2) | v4.0 |
4.5 (incluindo 4.5.1 e 4.5.2) | v4.0 |
4 | v4.0 |
3,5 | v2.0.50727 |
2.0 | v2.0.50727 |
1.1 | v1.1.4322 |
1,0 | v1.0.3705 |
APIs obsoletas para o .NET Framework 4.5 e versões posteriores
APIs obsoletas para versões anteriores
- Tipos obsoletos no .NET Framework 4
- Membros obsoletos no .NET Framework 4
- Lista Obsoleta do .NET Framework 3.5
- Lista Obsoleta do .NET Framework 2.0