O que é a compatibilidade com versões anteriores do .NET Framework?

12

Desenvolvemos um aplicativo Windows no .NET 4 com um banco de dados MySQL. Quando estamos prestes a implantar esse aplicativo, instalamos a estrutura .NET 4 em nosso cliente e, ao instalar o .NET Connector for MySQL, ele requer uma estrutura .NET 3.5. Mas o .NET 4 já está instalado. O .NET framework não era compatível com versões anteriores?

Acabamos instalando dois .NET framework (3.5 e 4) que não são pequenos no tamanho do disco. O que exatamente significa compatibilidade com versões anteriores?

John Isaiah Carmona
fonte
3
A resposta para a pergunta não feita: sim, não há problema em ficar com raiva.
Erik Reppen
Você precisa instalar o .NET 3.5 Framework inteiro para um conector? Você tentou copiar / registrar apenas os conjuntos necessários?
Mert Akcakaya
6
What is .NET framework backward compatibility?Um mito.
Yannis 18/05/12
@YannisRizos Eles possuem códigos / funcionalidades obsoletos e mantêm sua estrutura cada vez maior por um mito? .NET é estranho.
John Isaiah Carmona
@ErikReppen: bravo contra quem?
Doc Brown

Respostas:

18

Para citar o MSDN :

O .NET Framework 4 é compatível com versões anteriores dos aplicativos criados com o .NET Framework versões 1.1, 2.0, 3.0 e 3.5. Em outras palavras, aplicativos e componentes criados com versões anteriores do .NET Framework funcionarão no .NET Framework 4.

No entanto, na prática, essa compatibilidade pode ser quebrada por alterações aparentemente irrelevantes no .NET Framework e alterações nas técnicas de programação. Por exemplo, aprimoramentos de desempenho no .NET Framework 4 podem expor uma condição de corrida que não ocorreu nas versões anteriores. Da mesma forma, usar um caminho codificado para assemblies do .NET Framework, executar uma comparação de igualdade com uma versão específica do .NET Framework e obter o valor de um campo privado usando reflexão não são práticas compatíveis com versões anteriores. Além disso, cada versão do .NET Framework inclui correções de erros e alterações relacionadas à segurança que podem afetar a compatibilidade de alguns aplicativos e componentes.

Você deve testar seus aplicativos e componentes do .NET Framework para garantir que eles sejam compatíveis com outras versões do .NET Framework. Para garantir que um aplicativo ou componente seja executado com êxito no .NET Framework 4, use o Passo a passo de compatibilidade de aplicativos do .NET Framework 4.

Você também pode ver este tópico muito útil, no qual foi fornecida uma explicação detalhada:

/programming/2816914/backwards-compatibility-of-net-framework-4

Mamta D
fonte