Quiero una tarea msbuild para compilar los puntos de vista para que pueda ver si hay errores de tiempo de compilación en tiempo de compilación así .... ¿Algunas ideas?Compilar Vistas en ASP.NET MVC
Respuesta
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 compilación para sus vistas, también se precompilan en el ensamblaje (= calentamiento más rápido) y Resharper también proporciona ayuda adicional.
Para utilizar esta incluir el paquete RazorGenerator Nuget en que proyecto ASP.NET MVC e instalar la extensión "Razor generador" bajo el punto en Herramientas -> Extensiones y actualizaciones
Utilizamos esta y la sobrecarga por compilar con este enfoque es mucho menos. Además de esto, probablemente recomendaría .NET Demon de RedGate, que reduce aún más el impacto del tiempo de compilación.
Espero que esto ayude.
Puede utilizar 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/Aplicación/Ruta/O/Ruta/A/IIS/metabase de" es algo como esto: "/MiApl "o" /lm/w3svc2/1/root/ "
también hay un AspNetCompiler Task en MSDN, mostrando cómo integrar aspnet_compiler con MSBuild:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="PrecompileWeb">
<AspNetCompiler
VirtualPath="/MyWebSite"
PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
TargetPath="c:\precompiledweb\MyWebSite\"
Force="true"
Debug="true"
/>
</Target>
</Project>
Esto está desactualizado, vea un extracto del documento readme a continuación. – JarrettV
http://www.luisrocha.net/2011/10/avoiding-mvcbuildviews-build-time.html –
próxima versión de ASP.NET MVC (disponible en enero o así) debe tener la tarea de MSBuild que recopila puntos de vista, así que sería bueno que esperar.
Ver announcement
Además, si se utiliza ReSharper, puede solución activa ancha Análisis y detectará cualquier error de compilador que pueda tener en los archivos aspx. Eso es lo que hacemos ...
Es cierto que funciona para archivos aspx, pero el análisis de toda la solución no incluye archivos ascx (controles de usuario) – mookid8000
I Creo que lo hace en R # 5, pero es un gran recurso para grandes proyectos (incluso en mi máquina doméstica de 16GB no vale la pena usarlo). – Andrew
@Andrew/@ mookid8000 - R # también detectará errores que el compilador no detectará, como vistas y acciones perdidas/incorrectas. R # reducirá un poco la velocidad de tu PC (me parece bien en un proyecto de gran tamaño con 4 GB de memoria RAM y una CPU de Hyperthreading) pero recupero fácilmente el tiempo que paso esperando, y termino haciendo menos operaciones en mi código como R # proporciona operaciones de nivel superior que agrupan los muchos pasos que tendré que realizar para lograr la misma tarea manualmente. ¡Tu proyecto debe ser enorme! –
De la palabra doc readme para RC1 (no indexado por Google)
ASP.NET compilador posterior a la generación Paso
Actualmente, los errores dentro de una ver archivo no se detectan hasta el tiempo de ejecución. Para que pueda detectar estos errores en tiempo de compilación, proyectos ASP.NET MVC incluyen ahora una propiedad MvcBuildViews, que está desactivado por defecto. Para activar esta característica, abra el archivo de proyecto y establecer la propiedad MvcBuildViews true, como se muestra en el siguiente ejemplo:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Nota La activación de esta función añade algo de sobrecarga para el tiempo de construcción.
Puede actualizar los proyectos que se crearon con versiones previas de MVC para incluir la validación en tiempo de compilación de puntos de vista mediante la realización de los siguientes pasos:
- Abrir el archivo de proyecto en un editor de texto.
- agregue el siguiente elemento bajo el elemento de más arriba
<PropertyGroup>
:<MvcBuildViews>true</MvcBuildViews>
- Al final del archivo de proyecto, quite el elemento
<Target Name="AfterBuild">
y modificarlo para que coincida con lo siguiente:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
Si esto no debería funcionar para su proyecto, verifique si no hay un
¿Hay alguna forma de que esto funcione con los formularios web? – mxmissile
@mxmissile: Scott Guthrie recomienda agregar un Proyecto de implementación web a su solución para obtener este tipo de soporte en Proyectos de aplicaciones web: http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing- ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx –
No sé qué dispositivo de visualización está utilizando, pero si está usando Razor, es posible que desee consultar la publicación de mi blog: Compile your asp.net mvc Razor views into a seperate dll
También debería ser posible utilizar ese código para otros programas de visualización, pero no lo ha hecho & probado aún
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
Usando Productivity Power Tools ( libre) la extensión de Visual Studio ayuda un poco. Específicamente, la función Solution Error Visualizer
. Con él, los errores de compilació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, los errores en tiempo de compilación igualmente aparece subrayada en rojo en sus respectivos archivos .cs, pero señalización de estos errores no se propaga hacia arriba en el Explorador de soluciones (de ninguna manera, ni siquiera en el archivo de origen que contiene)
Gracias por BlueClouds
para corregir mi declaración anterior.
Acabo de informar esto como issue en el proyecto github de la extensión.
Probé Productivity Power Tools. Pero no se comporta como lo que se dice aquí. Hay un error en la vista de la navaja pero la construcción es exitosa. las vistas no están marcadas ni subrayadas en rojo, ni en ningún otro lugar del árbol del explorador de soluciones. –
@BlueClouds: tienes razón. Creé un proyecto de muestra y agregué un error en tiempo de compilación en una vista. La extensión subrayará las líneas de error en rojo, pero no propagará el error en el explorador de soluciones. Estoy corrigiendo lo que dije en la respuesta. Estoy dejando la respuesta aquí, ya que todavía ayuda un poco, mientras que de hecho no resuelve el problema de manera efectiva. – Veverke
Construir> Análisis de código de ejecución
tecla de acceso directo: Alt + F11
me ayudó a detectar errores de afeitar.
Volví a subir esta respuesta porque la tecla de acceso de hecho expone un error Razor. Sin embargo, posteriormente noté que solo parece funcionar si tiene el archivo .cshtml abierto en el IDE. – Michael12345
- 1. ASP.NET MVC vistas parciales lento?
- 2. ASP.NET MVC Globalización de vistas
- 3. Vistas en conjuntos separados en ASP.NET MVC
- 4. Trabajar con vistas parciales en ASP.NET MVC
- 5. Vistas de diseño amigable en Asp.Net MVC
- 6. ASP.NET MVC Vistas parciales en Java Spring MVC
- 7. Renderizando archivos .html como vistas en ASP.NET MVC
- 8. ASP.NET MVC: ¿Lugar correcto para vistas parciales?
- 9. Compartir vistas parciales ASP.NET MVC entre proyectos
- 10. ASP.NET MVC, vistas parciales y datos
- 11. Uso de ASP.NET MVC con vistas genéricas
- 12. ASP.net MVC - Vistas y mejores prácticas jQuery
- 13. Generar URL completa ASP.NET MVC Razor Vistas
- 14. ASP.NET MVC una ruta, dos vistas diferentes
- 15. Vistas simples de ASP.NET MVC sin escribir un controlador
- 16. almacenamiento en caché vistas parciales en asp.net MVC
- 17. cómo puedo renderizar Vistas parciales en asp.net mvc 3
- 18. ¿Cómo paso múltiples modelos a vistas parciales en ASP.NET MVC
- 19. ASP.Net MVC - Errores del compilador en las vistas
- 20. ¿cuándo debería usar vistas parciales en asp.net mvc?
- 21. ASP.NET MVC 1.0 AfterBuilding Vistas falla en TFS Build
- 22. Asp.Net MVC de diseño y vistas parciales en
- 23. Caché de vistas parciales en ASP.NET MVC 3
- 24. Eliminando lógica de vistas parciales en ASP.NET MVC
- 25. Precargar vistas ASP.NET MVC en el paso de calentamiento IIS
- 26. Seguridad en MVC Vistas
- 27. En ASP.NET MVC (3.0/Razor), ¿prefiere varias vistas o condicionales dentro de las vistas? ¿Por qué?
- 28. seguimiento con ASP.NET MVC 3 y vistas de afeitar usuario
- 29. Agregar espacios de nombres a ASP.NET MVC 3 vistas
- 30. ASP.NET MVC: paso de datos a través de Vistas
¿hay alguna solución similar para VS2012? – daniel
Desafortunadamente solo admite C# y no VB.Net –
@zoidbergi RazorGenerator funciona con VS2012; cuando se utiliza RazorGenerator.Mvc y RazorGenerator.MsBuild: no es necesaria la extensión. Ver la entrada del blog en [stacktoheap.com] (http://stacktoheap.com/blog/2013/01/19/precompiling-razor-views-in-asp-dot-net-mvc-3/) –