Migrowanie z programu .NET Framework 1.1

System Windows 7 i nowsze wersje systemu operacyjnego Windows nie obsługują programu .NET Framework 1.1. W związku z tym aplikacje przeznaczone dla programu .NET Framework 1.1 nie będą działać bez modyfikacji w wersjach systemu operacyjnego Windows 7 lub nowszych. W tym temacie omówiono kroki wymagane do uruchomienia aplikacji przeznaczonej dla programu .NET Framework 1.1 w systemie Windows 7 i nowszych wersjach systemu operacyjnego Windows. Aby uzyskać więcej informacji na temat programu .NET Framework 1.1 i Windows 8, zobacz Uruchamianie aplikacji .NET Framework 1.1 w systemie Windows 8 i nowszych wersjach.

Retarget lub recompile

Istnieją dwa sposoby uzyskania aplikacji skompilowanej przy użyciu programu .NET Framework 1.1 do uruchomienia w systemie Windows 7 lub nowszym systemie operacyjnym Windows:

  • Retarget the application to run under .NET Framework 4 and later versions (Retarget the application to run under .NET Framework 4 and later versions). Retargeting wymaga dodania obsługiwanego <elementuRuntime> do pliku konfiguracji aplikacji, który umożliwia jego uruchamianie w programie .NET Framework 4 i nowszych wersjach. Taki plik konfiguracji ma następującą formę:

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • Ponownie skompiluj aplikację za pomocą kompilatora, który jest przeznaczony dla programu .NET Framework 4 lub nowszej wersji. Jeśli pierwotnie użyto programu Visual Studio 2003 do opracowywania i kompilowania rozwiązania, możesz otworzyć rozwiązanie w programie Visual Studio 2010 (i ewentualnie nowszych wersjach) i użyć okna dialogowego Zgodność projektu, aby przekonwertować pliki rozwiązania i projektu z formatów używanych przez program Visual Studio 2003 do formatu microsoft Build Engine (MSBuild).

Niezależnie od tego, czy wolisz ponownie skompilować lub ponownie skompilować aplikację, musisz określić, czy aplikacja ma wpływ na jakiekolwiek zmiany wprowadzone w nowszych wersjach programu .NET Framework. Te zmiany mają dwa rodzaje:

  • Zmiany powodujące niezgodność, które wystąpiły między programem .NET Framework 1.1 i nowszymi wersjami programu .NET Framework.

  • Typy i składowe typu, które zostały oznaczone jako przestarzałe lub przestarzałe między programem .NET Framework 1.1 a nowszymi wersjami programu .NET Framework.

Niezależnie od tego, czy retargetujesz aplikację, czy ponownie ją skompilujesz, przejrzyj zarówno zmiany powodujące niezgodność, jak i przestarzałe typy i elementy członkowskie dla każdej wersji programu .NET Framework wydanego po programie .NET Framework 1.1.

Zmiany powodujące niezgodność

W przypadku wystąpienia zmiany powodującej niezgodność, w zależności od określonej zmiany obejście może być dostępne zarówno dla aplikacji ponownie przeznaczonych, jak i ponownie skompilowanych. W niektórych przypadkach można dodać element podrzędny do <elementu uruchomieniowego> pliku konfiguracji aplikacji w celu przywrócenia poprzedniego zachowania. Na przykład poniższy plik konfiguracji przywraca zachowanie sortowania i porównywania ciągów używane w programie .NET Framework 1.1 i może być używany z ponownie ukierunkowaną lub ponownie skompilowaną aplikacją.

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

Jednak w niektórych przypadkach może być konieczne zmodyfikowanie kodu źródłowego i ponowne skompilowania aplikacji.

Aby ocenić wpływ możliwych zmian powodujących niezgodność w aplikacji, należy przejrzeć następujące listy zmian:

Przestarzałe typy i elementy członkowskie

Wpływ przestarzałych typów i elementów członkowskich jest nieco inny w przypadku ponownie ukierunkowanych aplikacji i ponownie skompilowanych aplikacji. Użycie przestarzałych typów i elementów członkowskich nie wpłynie na ponownie docelową aplikację, chyba że przestarzały typ lub element członkowski został fizycznie usunięty z zestawu. Ponowne kompilowanie aplikacji, która używa przestarzałych typów lub elementów członkowskich, zwykle generuje ostrzeżenie kompilatora, a nie błąd kompilatora. Jednak w niektórych przypadkach generuje błąd kompilatora, a kod, który używa przestarzałego typu lub elementu członkowskiego, nie kompiluje się pomyślnie. W takim przypadku należy ponownie napisać kod źródłowy, który wywołuje przestarzały typ lub element członkowski przed ponownym skompilem aplikacji. Aby uzyskać więcej informacji o przestarzałych typach i elementach członkowskich, zobacz Co jest przestarzałe w bibliotece klas.

Aby ocenić wpływ typów i elementów członkowskich, które zostały przestarzałe od wydania programu .NET Framework 2.0 z dodatkiem SP1, zobacz Co jest przestarzałe w bibliotece klas. Przejrzyj listy przestarzałych typów i elementów członkowskich dla programu .NET Framework 2.0 SP1, .NET Framework 3.5 i .NET Framework 4.