Comstackr vistas en ASP.NET MVC

Quiero que una tarea de msbuild compile las vistas para poder ver si hay errores de tiempo de comstackción … bueno, comstackr. ¿Algunas ideas?

Francamente, recomendaría el paquete RazorGenerator nuget. De esta forma, sus vistas tienen un archivo .designer.cs generado cuando las guarda y, además de obtener errores de tiempo de comstackción para sus vistas, también se precomstackn en el ensamblaje (= calentamiento más rápido) y Resharper también proporciona ayuda adicional.

Para usar esto, incluya el paquete RazorGenerator nuget en su proyecto ASP.NET MVC e instale la extensión ” Razor Generator ” en el elemento debajo de Herramientas → Extensiones y actualizaciones .

Usamos esto y la sobrecarga por comstackción con este enfoque es mucho menor. Además de esto, probablemente recomendaría .NET Demon de RedGate, que reduce aún más el impacto del tiempo de comstackción.

Espero que esto ayude.

De la palabra readme doc para RC1 (no indexado por google)

Paso posterior a la comstackción del comstackdor ASP.NET

Actualmente, los errores dentro de un archivo de vista no se detectan hasta el tiempo de ejecución. Para permitirle detectar estos errores en tiempo de comstackción, los proyectos ASP.NET MVC ahora incluyen una propiedad MvcBuildViews, que está deshabilitada de forma predeterminada. Para habilitar esta propiedad, abra el archivo del proyecto y establezca la propiedad MvcBuildViews en verdadero, como se muestra en el siguiente ejemplo:

   true  

Nota Habilitar esta función agrega un poco de sobrecarga al tiempo de comstackción.

Puede actualizar los proyectos que se crearon con versiones anteriores de MVC para incluir la validación de vistas de tiempo de creación mediante la realización de los siguientes pasos:

  1. Abra el archivo del proyecto en un editor de texto.
  2. Agregue el siguiente elemento debajo del elemento más alto: true
  3. Al final del archivo del proyecto, descomente el elemento y para que coincida con lo siguiente:
    

Puede usar aspnet_compiler para esto:

 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v /Virtual/Application/Path/Or/Path/In/IIS/Metabase -p C:\Path\To\Your\WebProject -f -errorstack C:\Where\To\Put\Compiled\Site 

donde ” / Virtual / Application / Path / Or / Path / In / IIS / Metabase ” es algo como esto: ” / MyApp ” o ” / lm / w3svc2 / 1 / root /

También hay una tarea AspNetCompiler en MSDN, que muestra cómo integrar aspnet_compiler con MSBuild:

      

Además, si usa Resharper, puede activar Solution Wide Analysis y detectará cualquier error de comstackción que pueda tener en los archivos aspx. Esto es lo que hacemos…

La próxima versión de ASP.NET MVC (disponible aproximadamente en enero) debe tener una tarea MSBuild que compile vistas, por lo que es posible que desee esperar.

Ver anuncio

La respuesta dada aquí funciona para algunas versiones de MVC pero no para otras.

La solución simple funcionó para MVC1, pero al actualizar a MVC2 las vistas ya no se cumplían. Esto se debió a un error en los archivos del proyecto del sitio web. Vea este artículo Haacked.

Ver esto: http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx

Build> Ejecutar análisis de código

Tecla de acceso directo: Alt + F11

Me ayudó a atrapar errores Razor.

Usando la productividad de Visual Studio, la extensión ( gratuita ) de herramientas eléctricas ayuda un poco . Específicamente, la función Solution Error Visualizer . Con él, los errores de comstackción se marcaron visualmente en el explorador de soluciones (en el archivo fuente donde se encontró el error). Sin embargo, por alguna razón, esta función no funciona como con otros errores en ningún otro lugar del código.

Con vistas MVC, cualquier error de tiempo de comstackción se subrayará en rojo en sus respectivos archivos .cs, pero la señalización de estos errores no se propagará hacia arriba en el Explorador de soluciones (de ninguna manera, ni siquiera en el archivo fuente que lo contiene).

Gracias por BlueClouds por corregir mi statement anterior.

Acabo de informar esto como un problema en el proyecto github de la extensión.