Pergunta
Eu fiz uma pequena pesquisa e queria saber se há compatibilidade retroativa para o .NET framework.
A verdadeira questão é: se existe um programa que usa o .NET Framework 1.1, posso instalar o 3.5 e pronto, ou preciso instalar o 1.1 e, se algo usar o 3.5, preciso instalar o 3.5 também?
Solução
Infelizmente você terá que instalar as duas versões.Versões mais antigas da estrutura não são automaticamente agrupadas com versões mais recentes.
Outras dicas
Acredito que se você instalar o framework 3.5, você terá tudo de volta para o framework 2.0.A estrutura 3.5 (e 3.0) é executada no CLR 2.0, então você está realmente obtendo o tempo de execução 2.0 com as vantagens extras de 3.0 e 2.5 em cima dele.
Você teria que instalar separadamente a estrutura 1.1.
Você pode ver as versões instaladas aqui:C:\Windows\Microsoft.NET\Framework
Se você instalar algo que requer 3.5, você terá que instalá-lo.Da maneira como o .Net funciona, você pode ter 1.1, 2.xe 3.5 instalados ao mesmo tempo.Os programas especificam a versão da estrutura de que precisam e essa versão é carregada para eles.
Especialmente com o .NET 2.0, muitas coisas mudaram no .NET framework (não apenas no nível da linguagem).Você precisará da versão 1.1 para executar programas vinculados a essa versão.
Agora, se partes do seu programa usam o .NET 3.5 e você tem acesso a todas as fontes, recomendo que você porte o aplicativo inteiro para o .NET 3.5 e pronto.Pode demorar um pouco mais, mas valerá a pena seguir em frente.
Muitos, talvez a maioria, dos aplicativos criados para o .NET 1.1 serão executados em versões posteriores da estrutura.
Mas houve algumas alterações importantes, então a única maneira de ter certeza se o seu aplicativo compilado para .NET 1.1 será executado no .NET 2.0 ou posterior é testá-lo.
A Microsoft documentou as alterações significativas conhecidas entre o .NET 1.1 e o .NET 2.0 (consulte http://blogs.msdn.com/brada/archive/2005/11/14/492561.aspx) - mas os links para este conteúdo parecem estar quebrados :(
E eu sei de pelo menos uma alteração significativa não documentada devido a um bug.