You are on page 1of 9

Como actualizar una aplicacin ASP.NET a ASP.NET 4.

0
.NET Framework 4 S usas Visual Studio para abrir un proyecto web que estaba desarrollado con NET Framework 2.0, .NET Framework 3.0, o .NET Framework 3.5, Visual Studio puede ejecutar todos los cambios en el archivo de configuracin Web.config que son requeridos para ejecutarse usando la versin 4.0 del Framework. S el proyecto es del tipo IIS local y estas usando IIS 7.0, Visual Studio puede tambin reasignar el pool de la aplicacin para que use la versin 4.0 del Framework. Es recomendable usar Visual Studio para ejecutar las tareas que son requeridas en el orden de la actualizacin. S no se usa Visual Studio para ejecutar la actualizacin automticamente, debes editar manualmente el archivo de configuracin Web.Config y asociar manualmente la versin 4 framework a la aplicacin de IIS. Normalmente los procedimientos cubiertos en este tema son suficientes para actualizar una aplicacin Web, porque las versiones posteriores de. NET Framework estn diseadas para ser compatible con versiones anteriores. Sin embargo, tambin se debe buscar en la documentacin cambios importantes. El comportamiento de un componente que se ha desarrollado para una versin anterior de. NET Framework puede haber cambiado en la versin ms reciente de. NET Framework.

Nota
No actualices una aplicacin de IIS s esta tiene aplicaciones anidadas dentro de ella de versiones anteriores de .NET Framework. S una aplicacin en IIS de la versin 3.5 de .NET Framework o anterior esta anidada dentro de otra aplicacin de IIS de la versin 4.0, el compilador tal vez lance errores cuando compiles la aplicacin anidada. Esto es porque los archivos de configuracin web.config heredan la configuracin del web.config del sitio raz. . NET Framework 4 es compatible con versiones anteriores, por lo tanto, una aplicacin Web anidada que se corre con la versin 4 de NET Framework pueden heredar la configuracin de los archivos Web.config que son de versiones anteriores. Sin embargo, las versiones anteriores de la versin 4 de NET Framework no son compatibles con esta ltima, por lo tanto, no pueden heredar la configuracin de un archivo Web.config de la versin 4.

To upgrade an application by using Visual Studio


1. 2. Abre el sitio web o el proyecto en Visual Studio. S te aparece el Asistente de Conversin de Visual Studio, pulsa en siguiente. Este asistente aparece cuando abres un proyecto de aplicacin web o una solucin. No aparece cuando abres un proyecto de sitio web que no est en una solucin.

3.

S estas convirtiendo un proyecto, en el Asistente de Conversin de Visual Studio, selecciona la opcin de backup y pulsa en siguiente en el cuadro de dilogo de copia de seguridad.

Visual Studio actualiza el archive de tu proyecto al formato de Visual Studio 2010. S estas actualizando una solucin en vez de un proyecto individual, visual Studio actualiza la solucin al formato de Visual Studio 2010. 4. S estas convirtiendo un proyecto, en el Asistente de Conversin de Visual Studio, pulsa siguiente en la ventana de Listo para convertir

5.

S estas abriendo un proyecto Web en el ordenador que no tiene instalado la versin 3.5 del framework, en el dilogo seleccionar el primer check como se muestra en la figura y pulsa OK.

6.

S estas abriendo un proyecto Web en un ordenador que tiene la versin 3.5 del framework instalada, desmarca la opcin sino quieres actualizar todos los sitios web o proyectos de la solucin.

7.

Pulse Si Visual Studio actualiza el archivo Web.config. Los cambios que se realizan en el archivo Web.config se enumeran en el procedimiento ms adelante, en este tema s explica cmo actualizar manualmente el archivo Web.config. Visual Studio no actualiza los comentarios. Por lo tanto, despus de la conversin, el archivo Web.config puede contener comentarios que hacen referencia a versiones anteriores de .NET Framework. Visual Studio establece automticamente el atributo controlRenderingCompatibilityVersion del elemento de las pginas a 3,5. Puede eliminar esta configuracin con el fin de aprovechar XHTML y las mejoras de accesibilidad en ASP.NET 4. Para obtener ms informacin, consulte el procedimiento ms adelante, que explica cmo actualizar manualmente el archivo Web.config.

8.

S estas convirtiendo un proyecto, en el Asistente de Conversin de Visual Studio, pulsa en Cerrar el cuadro de dialogo.

9.

Si el proyecto no es un proyecto local de IIS, asocie la aplicacin de IIS con Visual Studio cuando se despliega en IIS. Para obtener ms informacin, consulte el procedimiento ms adelante que corresponde a la versin de IIS que est utilizando.

S la aplicacin de IIS est asociada con la versin 2 del Framework, el sitio no funcionar y generar errores indicando que no reconoce el atributo targetFramework. 10. Si el proyecto es un proyecto local de IIS y la versin de IIS es la 6.0, asocia tu aplicacin con el Visual Studio siguiendo el procedimiento ms adelante. Si el proyecto es un proyecto local de IIS, Visual Studio automticamente realiza esta asociacin. Se asigna la aplicacin al primer pool de aplicaciones disponible para la versin 4 de .NET Framework. Si no existe pool de aplicaciones, Visual Studio crea uno.

Nota
De forma predeterminada, la metabase API de IIS 6.0 que Visual Studio utiliza para asignar y crear pools de aplicaciones no est disponible en Windows Vista o Windows 7. Para que est disponible, debes habilitar la compatibilidad con la metabase de IIS 6 en el panel de control de Windows, Programas y caractersticas y activar o desactivar caractersticas de Windows. En la imagen siguiente se muestra el cuadro de dilogo de caractersticas de Windows.

11. S el proyecto incluye cdigo que accede a la clase HttpBrowserCapabilities de la propiedad HttpRequest.Browser, comprueba que tu cdigo funciona correctamente.

Los archivos de definicin del explorador que proporcionan informacin al objeto HttpBrowserCapabilities se cambiaron en ASP.NET 4, y los cambios no son compatibles con versiones anteriores de ASP.NET. Si descubres un problema y prefieres no cambiar tu cdigo para acomodarlo a los cambios de ASP.NET 4, puedes copiar los archivos de definicin de ASP.NET 3.5 del navegador de la carpeta browsers de ASP.NET 3.5 de un ordenador que tiene instalado ASP.NET 3.5 a la carpeta browsers de ASP.NET 4. La carpeta de browsers para una versin de ASP.NET se puede encontrar en la siguiente ubicacin: %SystemRoot%\Microsoft.NET\Framework\versionNumber\Config\Browsers Despus de copiar los archivos de definicin del navegador, debe ejecutar la herramienta Aspnet_regbrowsers.exe.

Actualizar manualmente los archivos de configuracin Web.Config de la versin 3.5 a 4.0


1. Asegrate que la versin actual de la aplicacin es la 3.5.

Nota
A continuacin se trata como convertir archivos de configuracin Web.Config de la versin 3.5 a la 4.0. Para actualizar una aplicacin web anterior a la versin 3.5, primero de debes convertirla a la versin 3.5 del Framework. Para ms informacin, mira este enlace Convirtiendo una aplicacin a ASP.NET 3.5.

2. 3. 4.

Abre el archive Web.Config de la aplicacin raz. En la seccin configSections, quita el elemento sectionGroup "system.web.extensions". En la seccin system.web, en la coleccin de compilacin, quita cada elemento add que se refiera a una assembly del .NET Framework. Los ensamblados del Framework generalmente empiezan con la palabra "System". Por lo general tienen la versin 3.5.0.0. Sin embargo, algunas de las entradas de que tienen el nmero de versin 3.5.0.0 pueden hacer referencia a ensamblados personalizados. No los elimine. Si el archivo Web.config contiene cualquiera de estas referencias, debe investigar de forma individual para determinar si una versin ms reciente est disponible y si la referencia de la versin debe ser actualizada.

5.

Aade el atributo targetFramework al elemento compilation en la seccin system.web, como se muestra en el siguiente ejemplo:

Copy <compilation targetFramework="4.0">


En la seccin pages, aade el atributo controlRenderingCompatibility, como se muestra en el siguiente ejemplo:

Copy <pages controlRenderingCompatibilityVersion="3.5"/>

Muchos de los controles de ASP.NET 4 hacen HTML compatible con los estndares XHTML y de accesibilidad. Sin embargo, el sitio Web que est convirtiendo podra haber reglas CSS o script de cliente que no funcionan correctamente si las pginas Web cambian la forma en que renderizan HTML. Si desea tomar ventaja de las mejoras de rendering en ASP.NET 4, puede omitir este atributo. Para obtener ms informacin, vea ControlRenderingCompatibilityVersion. 6. 7. 8. 9. En la seccin system.codedom, quite el element compiler para c# y vb. Borra todo lo que haya entre los tags de inicio y fin de la seccin system.webserver, pero no borres los tags. Borra todo lo que haya entre los tags de inicio y fin de la seccin runtime, pero no borres los tags. Si has customizado el archivo de configuracin Web.config, y si alguna de las customizaciones se refieren a ensamblados o clases customizadas, asegrate que son compatibles con la versin 4 del Framework. El siguiente ejemplo muestra un archive de configuracin Web.config para un aplicacin web que ha sido convertida de la versin 3.5 a la versin 4.0 del Framework.

Copy <?xml version="1.0"?> <!-Note: As an alternative to hand editing this file you can use the web admin tool to configure settings for your application. Use the Website->Asp.Net Configuration option in Visual Studio. A full list of settings and comments can be found in machine.config.comments usually located in \Windows\Microsoft.Net\Framework\v2.x\Config --> <configuration> <appSettings/> <connectionStrings> <add name="NorthwindConnection" connectionString="Data Source=.\SQLEXPRESS ;AttachDbFilename=|DataDirectory|\NORTHWND.MDF;Integrated Security=True;User I nstance=True" providerName="System.Data.SqlClient"/> </connectionStrings> <system.web> <!-Set compilation debug="true" to insert debugging symbols into the compiled page. Because this affects performance, set this value to true only during development. --> <compilation debug="true" targetFramework="4.0"> <assemblies> </assemblies> </compilation> <!-The <authentication> section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user. --> <authentication mode="Windows"/> <!--

The <customErrors> section enables configuration of what to do if/when an unhandled error occurs during the execution of a request. Specifically, it enables developers to configure html error pages to be displayed in place of a error stack trace. <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm" > <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> <pages controlRenderingCompatibilityVersion="3.5"/></system.web> <system.codedom> </system.codedom> <!-The system.webServer section is required for running ASP.NET AJAX under In ternet Information Services 7.0. It is not necessary for previous version of IIS . --> <system.webServer> </system.webServer> </configuration>

To associate an IIS application with the .NET Framework 4 in IIS 7.0 Asociar una aplicacin web con el Framework 4.0 en IIS 7.0
1. 2. 3. 4. 5. 6. En windows, ejecuta Inetmgr. En el panel de Conexiones, expande el nodo del servidor y haz click sobre los pools de aplicaciones (Application Pools) En la pgina de pools de aplicaciones, selecciona el pool de aplicacin que contiene la aplicacin que quieres cambiar. En el panel de Acciones, haz click en Ver aplicaciones Selecciona la aplicacin cuyo pool de aplicaciones quieres cambiar y haz click en Cambiar pool de aplicaciones en el panel de Acciones. En el cuadro de dialogo que aparece, selecciona el pool de aplicaciones que est asociado con la versin 4.0 del Framework y pulsa OK.

Asociar una aplicacin web de IIS con la versin 4.0 del Framework en IIS 6.0

Registrar una secuencia de comandos para la aplicacin que quieres asociar con la versin de .NET Framework bajo la que quieres que corra. Para ms informacin acerca de cmo actualizar secuencias de comandos para una aplicacin ASP.NET, mirar ASP.NET IIS Registration Tool (Aspnet_regiis.exe). Para ms informacin acerca de la configuracin de IIS 6.0, mirar Setting Application Mappings in IIS 6.0 (IIS 6.0).

You might also like