Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Windows больше не поддерживает .NET Framework 1.1 и 2.0. В результате приложения, предназначенные для более старых версий .NET Framework, не будут выполняться без явной установки .NET Framework 3.5. Однако рекомендуется обновить приложение до .NET Framework 4. В этой статье рассматриваются шаги, необходимые для запуска приложения, предназначенного для старой версии .NET Framework.
Перенацелить или перекомпилировать
Существует два способа получить приложение, скомпилированное с помощью .NET Framework 1.1 для запуска в Windows 7 или более поздней операционной системе Windows:
Перенацелите приложение для запуска в .NET Framework 4 и более поздних версиях.
Для перенацеления требуется добавить поддерживаемый< элементRuntime> в файл конфигурации приложения, который позволяет запускать его в .NET Framework 4 и более поздних версиях.
Файл конфигурации для приложения — это XML-файл, который находится в том же каталоге и имеет то же имя файла, что и приложение, но с расширением .config . Например, для приложения с именем MyExecutable.exe, файл конфигурации приложения будет называться MyExecutable.exe.config.
Такой файл конфигурации имеет следующую форму:
<configuration> <startup> <supportedRuntime version="v4.0"/> </startup> </configuration>Перекомпилируйте приложение с компилятором, предназначенным для .NET Framework 4 или более поздней версии. Если вы изначально использовали Visual Studio 2003 для разработки и компиляции решения, можно открыть решение в Visual Studio 2010 (и, возможно, более поздних версиях) и использовать диалоговое окно "Совместимость проектов " для преобразования файлов решения и проектов из форматов, используемых Visual Studio 2003 в формат Microsoft Build Engine (MSBuild).
Независимо от того, хотите ли вы перекомпилировать или перенацелить приложение, необходимо определить, влияет ли ваше приложение на любые изменения, внесенные в более поздних версиях .NET Framework. Эти изменения относятся к двум типам:
Критические изменения, произошедшие между .NET Framework 1.1 и более поздними версиями .NET Framework.
Типы и члены типов, помеченные как депрецированные или устаревшие в период с .NET Framework 1.1 до более поздних версий .NET Framework.
Независимо от того, перенацеливаете ли приложение или перекомпилируйте его, следует просмотреть как критические изменения, так и устаревшие типы и члены для каждой версии .NET Framework, выпущенной после .NET Framework 1.1.
Кардинальные изменения
Когда происходит ломающее изменение, в зависимости от характера изменения, обходной путь может быть доступен как для перенаправленных, так и для перекомпилированных приложений. В некоторых случаях можно добавить дочерний элемент в <элемент среды выполнения> файла конфигурации приложения, чтобы восстановить предыдущее поведение. Например, следующий файл конфигурации восстанавливает поведение сортировки строк и сравнения, используемое в .NET Framework 1.1 и может использоваться либо с перенацеливанием, либо с повторной компиляцией приложения.
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
Однако в некоторых случаях может потребоваться изменить исходный код и перекомпилировать приложение.
Чтобы оценить влияние возможных критических изменений в приложении, необходимо просмотреть следующие списки изменений:
Критические изменения в .NET Framework 2.0 описывают изменения в .NET Framework 2.0 с пакетом обновления 1 (SP1), которые могут повлиять на приложение, предназначенное для .NET Framework 1.1.
Изменения в .NET Framework 3.5 SP1 описывают различия между .NET Framework 3.5 и .NET Framework 3.5 SP1.
Документы об изменениях при миграции на .NET Framework 4 освещают изменения между .NET Framework 3.5 с пакетом обновления 1 (SP1) и .NET Framework 4.
Устаревшие типы и элементы
Влияние устаревших типов и членов несколько отличается для перенацелленных приложений и перекомпилированных приложений. Использование устаревших типов и членов не повлияет на повторное назначение приложения, если устаревший тип или член физически не удален из своей сборки. Перекомпилирование приложения, использующего устаревшие типы или члены, обычно выдает предупреждение компилятора, а не ошибку компилятора. Однако в некоторых случаях он создает ошибку компилятора, и код, использующий устаревший тип или член, не компилируется успешно. В этом случае необходимо переписать исходный код, который вызывает устаревший тип или член перед повторной компиляцией приложения. Дополнительные сведения об устаревших типах и членах см. в разделе "Устаревшие" в библиотеке классов.
Чтобы оценить влияние типов и членов, которые стали устаревшими с момента выпуска .NET Framework 2.0 SP1, см. статью «Что устарело в библиотеке классов». Просмотрите списки устаревших типов и членов для .NET Framework 2.0 с пакетом обновления 1 (SP1), .NET Framework 3.5 и .NET Framework 4.