Migrar do .NET Framework 1.1

Windows 7 e versões posteriores do sistema operacional Windows não suportam o .NET Framework 1.1. Como resultado, os aplicativos destinados ao .NET Framework 1.1 não serão executados sem modificação no Windows 7 ou versões posteriores do sistema operacional. Este tópico discute as etapas necessárias para executar um aplicativo destinado ao .NET Framework 1.1 no Windows 7 e versões posteriores do sistema operacional Windows. Para obter mais informações sobre o .NET Framework 1.1 e o Windows 8, consulte Executar aplicativos do .NET Framework 1.1 no Windows 8 e versões posteriores.

Redirecionar ou recompilar

Há duas maneiras de obter um aplicativo que foi compilado usando o .NET Framework 1.1 para ser executado no Windows 7 ou em um sistema operacional Windows posterior:

  • Redirecionar o aplicativo para ser executado no .NET Framework 4 e versões posteriores. O redirecionamento requer que você adicione um <elemento supportedRuntime> ao arquivo de configuração do aplicativo que permite que ele seja executado no .NET Framework 4 e versões posteriores. Esse arquivo de configuração assume a seguinte forma:

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • Recompile o aplicativo com um compilador destinado ao .NET Framework 4 ou uma versão posterior. Se você usou originalmente o Visual Studio 2003 para desenvolver e compilar sua solução, você pode abrir a solução no Visual Studio 2010 (e possivelmente versões posteriores também) e usar a caixa de diálogo Compatibilidade de projeto para converter os arquivos de solução e projeto dos formatos usados pelo Visual Studio 2003 para o formato Microsoft Build Engine (MSBuild).

Independentemente de preferir recompilar ou redirecionar seu aplicativo, você deve determinar se seu aplicativo é afetado por quaisquer alterações introduzidas em versões posteriores do .NET Framework. Estas alterações são de dois tipos:

  • Alterações recentes que ocorreram entre o .NET Framework 1.1 e versões posteriores do .NET Framework.

  • Tipos e membros de tipo que foram marcados como obsoletos ou obsoletos entre o .NET Framework 1.1 e versões posteriores do .NET Framework.

Se você redirecionar seu aplicativo ou recompilá-lo, você deve revisar as alterações de quebra e os tipos obsoletos e membros para cada versão do .NET Framework que foi lançado após o .NET Framework 1.1.

Alterações interruptivas

Quando ocorre uma alteração de quebra, dependendo da alteração específica, uma solução alternativa pode estar disponível para aplicativos redirecionados e recompilados. Em alguns casos, você pode adicionar um elemento filho ao <elemento runtime> do arquivo de configuração do aplicativo para restaurar o comportamento anterior. Por exemplo, o arquivo de configuração a seguir restaura o comportamento de classificação e comparação de cadeia de caracteres usado no .NET Framework 1.1 e pode ser usado com um aplicativo redirecionado ou recompilado.

<configuration>
   <runtime>
      <CompatSortNLSVersion enabled="4096"/>
   </runtime>
</configuration>

No entanto, em alguns casos, você pode ter que modificar seu código-fonte e recompilar seu aplicativo.

Para avaliar o impacto de possíveis alterações significativas em seu aplicativo, você deve revisar as seguintes listas de alterações:

Tipos e membros obsoletos

O impacto de tipos e membros preteridos é um pouco diferente para aplicativos redirecionados e aplicativos recompilados. O uso de tipos e membros obsoletos não afetará um aplicativo redirecionado, a menos que o tipo ou membro obsoleto tenha sido fisicamente removido de seu assembly. Recompilar um aplicativo que usa tipos ou membros obsoletos geralmente produz um aviso do compilador em vez de um erro do compilador. No entanto, em alguns casos, ele produz um erro de compilador e o código que usa o tipo ou membro obsoleto não é compilado com êxito. Nesse caso, você deve reescrever o código-fonte que chama o tipo ou membro obsoleto antes de recompilar seu aplicativo. Para obter mais informações sobre tipos e membros obsoletos, consulte O que está obsoleto na Biblioteca de Classes.

Para avaliar o impacto de tipos e membros que foram preteridos desde o lançamento do .NET Framework 2.0 SP1, consulte O que está obsoleto na biblioteca de classes. Analise as listas de tipos obsoletos e membros para o .NET Framework 2.0 SP1, .NET Framework 3.5 e .NET Framework 4.