12

Sé que esto se puede hacer con mvc2, pero ¿hay alguna forma de que visual studio (2010)/resharper (6) compruebe los errores en las páginas aspx en tiempo de compilación y detenga la compilación? Resharper puede detectar los errores muy bien, por lo que parece que debería haber una manera de integrar una verificación de todas las páginas aspx en el proceso de compilación.ASP.net Web Forms, obtenga aspx/view errors en tiempo de compilación?

¿Algún consejo?

Respuesta

15

Sí, puedes. Los siguientes pasos harán que los archivos .aspx se compilen como parte de un paquete normal invocado por el IDE, no se requiere un complemento de Resharper.

  • descargar su aplicación web (clic derecho en el proyecto y seleccione 'Descargar proyecto')
  • Abrir el archivo .csproj en un editor de texto (clic derecho en el proyecto y seleccione 'Editar myProjectName.csproj')
  • En la parte inferior del archivo de encontrar el comentario que dice 'Para modificar su proceso de construcción ...' e introduzca el siguiente después de que el comentario:

<Target Name="AfterBuild"><AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" /></Target>

Fuente - Compile Aspx pages at compile time using the AspNetCompiler build task

+0

Esto puso de relieve un problema de dependencias raro, así que no puedo confirmar si su trabajando aún Parece prometedor, sin embargo, va a publicar una actualización de estado en un poco – jdc0589

+0

<\t AspNetCompiler virtualPath = "temp" rutaDeAccesoFísica = "$ (ProjectDir)" />

+0

Hola Justin y @DanaBenson este paso Sin duda resaltar los errores, pero todavía dice "Reconstruir todo exitoso", puede ser porque es un paso posterior a la compilación ... así que, supongo que no hay nada que hacer en la compilación, ¿verdad? –

1

Es probable que no quiere hacer esto en tiempo de compilación, porque la compilación de puntos de vista es lento ...

Lo que realmente quiere hacer es tener una tarea de NAnt (o algo más) que lo hará XML introduce este objetivo en su archivo .csproj web antes de compilar el código fuente en su servidor CI.

De esta forma, sus desarrolladores no tienen que aguantar el desperdicio de tiempo del AspNetCompiler cada vez que hacen CTRL + MAYÚS + B localmente en Visual Studio, pero aún puede alertar a las personas sobre las vistas con errores de sintaxis en el CI servidor al fallar la construcción de CI.

Actualización: Aquí es un método que se ejecutará su opinión construir fuera de Visual Studio, pero aún en su PC local :)

http://www.luisrocha.net/2011/10/avoiding-mvcbuildviews-build-time.html

+0

Aunque tiene razón en eso (especialmente en proyectos más grandes) esto ralentiza una compilación, sería bueno poder alinear esto de modo que los desarrolladores que empujan conjuntos de cambios más grandes A un servidor de CI puedan verificar antes de enviarlos para garantizar construye. No siempre, solo en ciertos casos, por lo que está deshabilitado por defecto. – Mattygabe

+0

1) Use un sistema CI que permita compilaciones personales (p. Ej. TeamCity) 2) Tenga un archivo batch/cmd/powershell que ejecute MvcBuildViews = true y ejecute las pruebas de integración localmente que los desarrolladores puedan usar para probar las vistas antes de que se registren 3) deje que el entorno de CI lo atrape, ya que no sucederá tan a menudo. –

+0

No estoy seguro si MvcBuildViews es una opción válida para WebForms, ¿o sí? Soy consciente de ello y lo utilizo en mis proyectos que están en el marco de MVC, pero el que tenía en mente no es. – Mattygabe

Cuestiones relacionadas