En un abrir y cerrar de ojos, han pasado 4 años desde que Microsoft lanzó la plataforma .net, y .net también experimentó actualizaciones de 1.0 a 1.1 a 2.0. Debido a la atracción de varias características superiores de asp.net 2.0 y vs 2005 IDE, todos están ocupados aprendiendo 2.0 y actualizando el proyecto a vs 2005 para su desarrollo. Pero, de hecho, muchos proyectos no se pueden actualizar a nuevas versiones por diversas razones. A medida que pasa el tiempo, el problema del mantenimiento de proyectos de versiones antiguas se vuelve cada vez más problemático. Aunque .net nació no hace mucho, 4 años es tiempo suficiente para acumular una gran cantidad de proyectos.
Tengo un proyecto desarrollado con vs.net 2002, que no se ha actualizado por varias razones (principalmente porque el proyecto ha estado funcionando bien durante un tiempo antes de que saliera vs.net 2003 y otros programas asp.net en el servidor. No se puede para adaptarse a los requisitos de seguridad de .net 1.1).
Cuando se actualizó la plataforma de desarrollo de la empresa, se instalaron vs.net 2002 y vs.net 2003 al mismo tiempo en la computadora, lo que solucionó temporalmente el mantenimiento de diferentes versiones del proyecto. Posteriormente, el proyecto pasó el período de mantenimiento y no se actualizó durante mucho tiempo. Mi computadora también fue reinstalada y vs.net 2002 fue eliminado por completo. Pero en 2005, los clientes pedían modificaciones cada uno o dos meses y tenían que ser rápidos. No había otra manera. Los clientes eran tan increíbles que tenían que hacer cambios incluso después del período de mantenimiento. Pero aquí viene el problema. Sin vs 2002, no se puede compilar.
Es muy problemático instalar .net framework 1.0 en la computadora y llamar manualmente a csc para compilar el código modificado. El proyecto tiene muchas referencias y escribir la línea de comando es muy complicado. Esto es especialmente doloroso cuando el proyecto tiene muchas carpetas. También hice la prueba y escribí un programa para compilarlo, pero fui vago y nunca me di cuenta.
Hoy necesito modificar el programa nuevamente, y de repente recordé que usé el atributo Src de la directiva @Page una vez muy temprano (en 2002, al usar este atributo, asp.net usará su propio modelo de compilación en lugar de usar CodeBehind). del IDE vs.net De esta manera, el código se puede publicar sin compilarlo en un dll. Al acceder al sitio, asp, net compilará automáticamente el archivo aspx y el archivo .aspx.vb. Hay dos desventajas principales de este método: 1. El archivo de código (.vb) debe publicarse en el servidor, 2. vs.net IDE no lo admite. Debido al segundo problema, dejé de usarlo y lo olvidé. Ahora me preocupa no poder compilar el programa mientras el código modificado tenga efecto, no se considerarán otras deficiencias. De todos modos, todo el código fuente se publica en el servidor. Agregué un atributo Src a la directiva @Page, usando el mismo valor que el atributo CodeBehind, apuntando al archivo de código. Luego modifique el código en el archivo .vb. Actualice, las modificaciones surten efecto y se completa el mantenimiento. Qué genial. Eso es lo que haré a partir de ahora. Dado que vs.net IDE no lo admite y se menciona en MSDN, es posible que no mucha gente sepa que .net tiene este modelo de compilación. Compártelo ahora. Si alguien está experimentando el mismo dolor que yo, también puede intentar agregar Src a la página. Es simple y rápido. Una vez que se cambia el código, no es necesario devanarse los sesos. para encontrar herramientas para compilarlo.
Resumen: Mucha gente, incluyéndome a mí, prefiere compilar el programa en una DLL, que se parece más a un software publicado. De hecho, el método de "publicar todo el código fuente en el servidor y compilarlo completamente durante el tiempo de ejecución" es muy bueno y simplifica enormemente el trabajo de mantenimiento futuro. Muchas empresas realizan proyectos para clientes que en realidad no necesitan ocultar el código fuente a los clientes. En este caso, utilizar este método traerá enormes beneficios para futuros trabajos de mantenimiento. No importa si .net se actualiza n veces o si la versión correspondiente de las herramientas de desarrollo está instalada en su computadora, no necesita preocuparse. encargarse de todo.
Nota: Todas las versiones de asp.net admiten este modo de compilación, pero el IDE de vs.net 2002 y 2003 no lo admite y no puede abrir la vista de diseño. El IDE recientemente lanzado frente a 2005 admite este modo de compilación. Cuando utilice el atributo Src, el atributo CodeBehind ya no es necesario, pero se recomienda conservarlo. También puede ayudarle si de repente necesita volver a la vista de cálculo. El atributo Hereda no es obligatorio, pero se recomienda encarecidamente no eliminarlo, porque si vincula directamente el evento en la declaración de control del archivo aspx (como: OnClick="...."), habrá un error sin el atributo Hereda.
Fuente: BLOG de cwbboy