Guía de migración para .NET Framework 4

Normalmente, si creó la aplicación con una versión anterior de .NET Framework, podrá actualizar fácilmente la aplicación a la versión 4. Abra el proyecto en Visual Studio 2010. Si el proyecto se creó con una versión anterior, se abre automáticamente el Asistente para conversión de Visual Studio. Para obtener más información sobre la actualización de un proyecto, vea Cómo: Actualizar proyectos creados en versiones anteriores de Visual Studio.

Sin embargo, como se han realizado ciertos cambios en .NET Framework, deberá modificar el código. Es posible que también desee aprovechar las nuevas funciones de .NET Framework 4. El proceso de realizar estos tipos de cambios en la aplicación para adaptarla a una nueva versión de .NET Framework se conoce normalmente como migración. Si no es necesario migrar la aplicación, puede ejecutarla en .NET Framework 4 sin recompilar. Para obtener más información, vea Cómo: Configurar el runtime de .NET Framework 4. Para los escenarios de prueba de compatibilidad, vea .NET Framework 4 Application Compatibility Walkthrough.

En este tema se describen tareas, recursos y problemas relacionados con la migración de aplicaciones de .NET Framework 3.5 a .NET Framework 4.

Recursos de migración

Consulte los siguientes documentos antes de migrar su aplicación:

Información general sobre los problemas de migración

En la tabla siguiente se incluye un resumen de los principales problemas que se describen en detalle en Problemas de migración de .NET Framework 4. Esta tabla contiene correcciones que llevaron a cabo para resolver algunos problemas que se producían anteriormente, así como ciertas mejoras que podrían serle útiles para las tareas de migración.

Tecnología

Desarrollo y recursos de la aplicación

Configuraciones y otras consideraciones

Controles y gráficos

Seguridad

Interoperabilidad

Tipos y miembros pertinentes

ASP.NET y web

Compatibilidad con aplicaciones web secundarias de diferentes versiones.

  • Actualizaciones para los archivos de definición de explorador.

  • Cambios en las solicitudes y formularios HTML, la sintaxis de codificación y las directivas de caché.

  • Análisis de páginas más estricto.

  • Se ha quitado la referencia a System.Web.Mobile.dll.

  • Actualizaciones del archivo .config.

  • Enrutamiento de direcciones URL y nombres de carpetas web.

  • Nuevo modo de identificación de cliente.

  • Nuevas capacidades de representación.

  • Cumplimiento de XHTML 1.1.

  • Interrupción del soporte técnico para el hospedaje de controles de Windows Forms en el explorador. Se ha quitado IEHost.dll y IEExec.dll de .NET Framework.

  • Autenticación Passport reemplazada por el SDK de Live ID.

  • Cambios en algoritmo hash para el cifrado de datos.

Ninguno.

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

Principal

  • Consideraciones relativas a la ejecución en paralelo y en proceso.

  • Mejoras en la carga de ensamblados y el algoritmo hash.

  • Cambio de ubicación de la memoria caché global de ensamblados.

  • Clases del compilador de código de C# reemplazadas por CodeDOM.

  • El visor de complemento del shell ya no es compatible con Gacutil.exe (Herramienta Caché global de ensamblados).

  • Nomenclatura del archivo .config.

  • Las propiedades de fecha y hora usan ahora las reglas del sistema operativo en lugar de los datos de .NET Framework.

  • Cambios en la administración de excepciones de los estados de procesos dañados.

Ninguno.

  • Nuevo modelo de seguridad.

  • Algunos miembros y tipos de activación de hospedaje están en desuso.

  • Cambios de depuración JIT.

  • Las invocaciones de plataforma incorrectas generan ahora errores en las aplicaciones.

  • Las bibliotecas administradas ya no pueden verse en las aplicaciones nativas, como el Administrador de tareas de Windows.

Fecha y hora: Local, Now, TimeSpan

Globalización: CurrencyEnglishName, LongDatePattern, PMDesignator, CultureTypes, FrameworkCultures, WindowsOnlyCultures

Excepciones: HandleProcessCorruptedStateExceptionsAttribute, ExecutionEngineException

Reflexión: HashAlgorithm, None, GetReferencedAssemblies(), ProcessModuleCollection, DeclaringType

Datos

Mejoras de hospedaje.

  • Mejoras de asignación de vistas.

  • Mejoras de edición de filas.

  • Compatibilidad con POCO.

  • Los servicios de datos admiten contenido binario por lotes, encabezados, interceptores de cambios para solicitudes de eliminación, operaciones de combinación, caracteres de escape en los URI, secuencias subyacentes y el lector de JSON.

  • Excepciones más útiles.

Ninguno.

Ninguno.

Ninguno.

DataSet y cliente SQL: IRelatedEnd, IEntityWithRelationships, DataView, PropertyChanged, RejectChanges(), DataSet, Prepare()

Entity Framework: Detach(Object), SaveChanges()

LINQ to SQL: EntitySet<TEntity>, ListChanged

Servicios de datos de WCF: TimeoutException, DataServiceRequestException, MergeOption, AppendOnly, PreserveChanges, OnStartProcessingRequest(ProcessRequestArgs), ServiceOperation

Globalización

Información de referencia cultural obtenida del sistema operativo (a partir de Windows 7).

  • Nuevas referencias culturales neutras y específicas y cambios de nombre.

  • Compatibilidad mejorada con los estándares Unicode 5.1.

Ninguno.

Ninguno.

Ninguno.

Ninguno.

WCF

Ninguno.

  • Cambios de configuración en el hospedaje de servicios.

  • Se admite la combinación de archivos de configuración.

  • Tipos de referencia cultural obsoletos.

Ninguno.

Ninguno.

Ninguno.

Ninguno.

WPF

  • Diccionarios de recursos Freezable.

  • Opciones de ubicación de archivos de recursos.

  • Instalación de XPS Viewer Essentials Pack.

  • Los atributos solo pueden tener un punto.

  • Revisiones de las extensiones de marcado.

  • Excepciones más útiles.

  • Los marcos de mapas de bits proporcionan una representación mejorada de las imágenes descargadas.

  • Las ventanas secundarias no flotan.

  • Se han mejorado las funciones de los objetos secundarios de los menús, los contenedores fuera de pantalla, la administración de controles y la jerarquía de vista de árbol.

  • ClearType en menús y elementos emergentes.

  • Nuevas interfaces de automatización de la interfaz de usuario.

  • CommonDialog.ShowStream y Microsoft.Win32.FileDialog se ejecutan en el mismo subproceso.

  • Navegación por el marco sin eventos innecesarios.

  • Los delegados de elementos emergentes se pueden llamar varias veces durante un paso de diseño.

  • Los valores de propiedad pueden conservarse después de la activación de desencadenadores que afectan a sus valores.

  • Se han eliminado (invalidado) las repeticiones de diseño innecesarias.

  • Ahora puede enlazar instancias de comandos en función de un modelo de vista.

  • Se han ofuscado las combinaciones de teclas no utilizadas.

  • Las aplicaciones de explorador de WPF ya no procesan eventos de teclado.

  • Más configuraciones de estilo de ventana.

  • La operación automatizada de cortar y pegar en los cuadros de texto proporciona más seguridad en los niveles confianza parcial.

Ninguno.

Aplicaciones: AllowsTransparency, WindowState

Controles: CollectionView, SetCurrentValue(DependencyProperty, Object), Copy(), Cut()

Gráficos: DropShadowEffect, BlurEffect, ShaderEffect, DownloadFailed, InputBinding, DeadCharProcessed, DeadCharProcessedKey

Automatización de la interfaz de usuario: TreeViewAutomationPeer, TreeViewItemAutomationPeer, IItemContainerProvider, ISynchronizedInputProvider, IVirtualizedItemProvider

XAML: ProvideValue(IServiceProvider)

XML

Ninguno.

  • Los esquemas camaleón se han clonado correctamente.

  • Las referencias a entidades se convierten en una entidad una sola vez.

  • Correcciones en la resolución de los espacios de nombres.

  • Correcciones en la navegación de lectores y XPath.

  • Los conjuntos de esquemas pueden contener otros conjuntos.

Ninguno.

Ninguno.

Ninguno.

Esquema y transformaciones: XmlReader, CreateReader(), XPathNavigator, XmlSchemaSet, Load(XmlReader)

Validación: ReadContentAs(Type, IXmlNamespaceResolver), IXmlNamespaceResolver, Create(Stream)

Escritura: WriteEntityRef(String), XmlWriter, None

Vea también

Conceptos

Lo nuevo en .NET Framework 4

Versiones y dependencias de .NET Framework

Otros recursos

Problemas de migración de .NET Framework 4

Migrar de la versión 1.1 de .NET Framework

Cómo: Configurar el runtime de .NET Framework 4

Compatibilidad de versiones en .NET Framework

Lo obsoleto en .NET Framework

Nuevos tipos y miembros en .NET Framework 4

.NET Framework Version and Assembly Information

Política del ciclo de vida de soporte técnico de Microsoft .NET Framework

Historial de cambios

Fecha

Historial

Motivo

Agosto de 2010

Se han agregado problemas sobre el hospedaje de controles en el explorador web, las clases de compiladores y CodeDOM, y el visor de la memoria caché global de ensamblados.

Mejora de la información.