Руководство по миграции на .NET Framework 4

Если приложение создано с использованием более ранней версии платформы .NET Framework, обычно можно легко обновить его до версии 4. Откройте проект в Visual Studio 2010. Если проект был создан в более ранней версии, автоматически откроется мастер преобразования Visual Studio. Дополнительные сведения об обновлении проекта см. в разделе Практическое руководство. Обновление проектов, созданных в предыдущих версиях Visual Studio.

Однако некоторые изменения в платформе .NET Framework требуют внесения изменений в код. Может также возникнуть необходимость воспользоваться преимуществами новых функций в .NET Framework 4. Внесение такого типа изменений в приложение для новой версии платформы .NET Framework обычно называется миграцией. Если приложение не требуется мигрировать, его можно запускать в .NET Framework 4 без перекомпиляции; дополнительные сведения см. в разделе Практическое руководство. Настройка среды выполнения .NET Framework 4. Сценарии проверки совместимости см. в документе .NET Framework 4 Application Compatibility Walkthrough.

В данном разделе описаны задачи, ресурсы и проблемы, связанные с миграцией приложений из платформы .NET Framework 3.5 в платформу .NET Framework 4.

Ресурсы миграции

Перед миграцией приложения просмотрите следующие документы.

Обзор проблем с миграцией

В следующей таблице приведена сводка основных проблем, подробно описанных в разделе Проблемы при миграции на .NET Framework 4. Перечислены исправления, сделанные для устранения более ранних проблем, а также улучшения, которые могут помочь при выполнении задач миграции.

Технология

Разработка приложений и ресурсы

Конфигурации и другие вопросы

Элементы управления и графика

Безопасность

Взаимодействие

Соответствующие типы и члены

ASP.NET и Интернет

Поддержка дочерних веб-приложений разных версий.

  • Обновления файлов описания браузера.

  • Изменения в формах и запросах HTML, синтаксисе кодирования и политиках кэширования.

  • Более строгий синтаксический разбор страниц.

  • Удалена ссылка на System.Web.Mobile.dll.

  • Обновления файла конфигурации.

  • URL-маршрутизация и имена веб-папок.

  • Новый режим идентификаторов клиентов.

  • Новые возможности визуализации.

  • Соответствие XHTML 1.1.

  • Прекращена поддержка размещения элементов управления Windows Forms в браузере. Файлы IEHost.dll и IEExec.dll удалены из платформы .NET Framework.

  • Проверка подлинности паспорта заменена пакетом SDK Live ID.

  • Изменения в хэш-алгоритме для шифрования данных.

Нет.

HttpBrowserCapabilities, HttpUtility, HttpServerUtility, Menu, MenuRenderingMode, ControlRenderingCompatibilityVersion, PopOutImageUrl, StaticPopOutImageUrl, DynamicPopOutImageUrl, AppendHeader(String, String), PassportIdentity, HttpRequest, FilePath, AppRelativeCurrentExecutionFilePath, CurrentExecutionFilePath, PathInfo

Ядро

  • Вопросы, касающиеся внутрипроцессного параллельного выполнения.

  • Улучшения в загрузке сборок и хэш-алгоритме.

  • Изменение расположения глобального кэша сборок.

  • Классы компилятора кода C# заменены на CodeDOM.

  • Средство просмотра подключаемых модулей оболочки больше не поддерживается программой Gacutil.exe (программа глобального кэша сборок).

  • Именование файла конфигурации.

  • Свойства даты и времени теперь используют правила операционной системы, а не данные платформы .NET Framework.

  • Изменения в обработке исключений для поврежденных состояний процесса.

Нет.

  • Новая модель безопасности.

  • Некоторые типы и члены активации размещения не рекомендуются к использованию.

  • Изменения в JIT-отладке.

  • Неправильные вызовы неуправляемого кода теперь приводят к сбоям в приложениях.

  • Управляемые библиотеки больше не видны собственным приложениям, например диспетчеру задач Windows.

Дата и время: Local, Now, TimeSpan

Глобализация: CurrencyEnglishName, LongDatePattern, PMDesignator, CultureTypes, FrameworkCultures, WindowsOnlyCultures

Исключения: HandleProcessCorruptedStateExceptionsAttribute, ExecutionEngineException

Отражение: HashAlgorithm, None, GetReferencedAssemblies(), ProcessModuleCollection, DeclaringType

Данные

Улучшения в размещении.

  • Улучшения в сопоставлении представлений.

  • Улучшения в редактировании строк.

  • Поддержка POCO.

  • Поддержка служб данных для пакетного двоичного содержимого, заголовков, перехватчиков изменений для запросов на удаление, операций слияния, преобразования универсальных кодов ресурсов (URI), базовых потоков и читателя JSON.

  • Более полезные исключения.

Нет.

Нет.

Нет.

DataSet и клиент SQL: IRelatedEnd, IEntityWithRelationships, DataView, PropertyChanged, RejectChanges(), DataSet, Prepare()

Entity Framework: Detach(Object), SaveChanges()

LINQ to SQL: EntitySet<TEntity>, ListChanged

Службы данных WCF: TimeoutException, DataServiceRequestException, MergeOption, AppendOnly, PreserveChanges, OnStartProcessingRequest(ProcessRequestArgs), ServiceOperation

Глобализация

Получение сведений о языке и региональных параметрах из операционной системы, начиная с Windows 7.

  • Новые нейтральные и особые языки и региональные параметры, а также изменения в именах.

  • Улучшенная поддержка стандартов Юникод 5.1.

Нет.

Нет.

Нет.

Нет.

WCF

Нет.

  • Изменения в конфигурации размещения служб.

  • Поддержка слияния по нескольким файлам конфигурации.

  • Устаревшие типы языка и региональных параметров.

Нет.

Нет.

Нет.

Нет.

WPF

  • Замораживаемые словари ресурсов.

  • Параметры расположения файла ресурсов.

  • Установка пакета основных компонентов средства просмотра XPS.

  • Атрибуты могут иметь только одну точку.

  • Исправления расширения разметки.

  • Более полезные исключения.

  • Кадры растрового изображения обеспечивают лучшую визуализацию загруженных изображений.

  • Дочерние окна не перемещаются.

  • Улучшенные возможности для дочерних объектов меню, контейнеров вне экрана, обработки бегунков и иерархии представлений в виде дерева.

  • ClearType в меню и всплывающих окнах.

  • Новые интерфейсы модели автоматизации пользовательского интерфейса.

  • CommonDialog.ShowStream и Microsoft.Win32.FileDialog выполняются в одном и том же потоке.

  • Навигация по фреймам без лишних событий.

  • Делегаты всплывающих меню могут вызываться несколько раз во время передачи макета.

  • Значения свойств могут сохраняться после воздействия на них триггеров.

  • Ненужные операции повторного создания макетов исключены (аннулированы).

  • Теперь можно выполнять привязку экземпляров команд, основанных на модели представления.

  • Неиспользуемые сочетания клавиш заблокированы.

  • Приложения браузера WPF больше не обрабатывают ключевые события.

  • Больше параметров стилей окон.

  • Автоматизированные операции вырезания и вставки в текстовых полях обеспечивают более высокую безопасность при частичном доверии.

Нет.

Приложения: AllowsTransparency, WindowState

Элементы управления: CollectionView, SetCurrentValue(DependencyProperty, Object), Copy(), Cut()

Графика: DropShadowEffect, BlurEffect, ShaderEffect, DownloadFailed, InputBinding, DeadCharProcessed, DeadCharProcessedKey

Модель автоматизации пользовательского интерфейса: TreeViewAutomationPeer, TreeViewItemAutomationPeer, IItemContainerProvider, ISynchronizedInputProvider, IVirtualizedItemProvider

XAML: ProvideValue(IServiceProvider)

XML

Нет.

  • Схемы-хамелеоны клонированы правильно.

  • Ссылки на сущность преобразуются в сущность только один раз.

  • Исправления сопоставителя пространств имен.

  • Исправления читателя и XPath-навигации.

  • Наборы схемы могут включать в себя другие наборы.

Нет.

Нет.

Нет.

Схема и преобразования: XmlReader, CreateReader(), XPathNavigator, XmlSchemaSet, Load(XmlReader)

Проверка: ReadContentAs(Type, IXmlNamespaceResolver), IXmlNamespaceResolver, Create(Stream)

Запись: WriteEntityRef(String), XmlWriter, None

См. также

Основные понятия

Новые возможности .NET Framework 4

Версии и зависимости платформы .NET Framework

Другие ресурсы

Проблемы при миграции на .NET Framework 4

Миграция с .NET Framework версии 1.1

Практическое руководство. Настройка среды выполнения .NET Framework 4

Совместимость версий в .NET Framework

Устаревшие возможности .NET Framework

Новые типы и члены в .NET Framework 4

.NET Framework Version and Assembly Information

Microsoft .NET Framework Support Lifecycle Policy

Журнал изменений

Дата

Журнал

Причина

Август 2010

Добавлено описание проблем, касающихся элементов управления размещением в веб-браузере, классов компилятора и CodeDOM, а также средства просмотра глобального кэша сборок.

Улучшение информации.