asp.net-mvc - net - web forms c# ejemplos
las vistas de la maquinilla de afeitar no dan error de tiempo de compilaciĆ³n (5)
Esta pregunta ya tiene una respuesta aquí:
- Vistas de compilación en ASP.NET MVC 8 respuestas
- la sintaxis razor con errores se compila cuando no debe compilar 1 respuesta
Recientemente instalé VS 2012 Professional.
Cuando intento construir mi MVC4 Web Project. No reconoce el error en la vista de la máquina de afeitar cuando hago "Build" o "Re-Build".
Ejemplo :
Eliminé un espacio de nombres del proyecto / o digo que lo renombré. Construyo la solución, me dio errores en todos los archivos cs, que arreglé cambiando el espacio de nombres. La solución completa se construye con éxito. Cuando ejecuto el proyecto, me dio un error de compilación que decía que no se encontró el espacio de nombres, porque el antiguo espacio de nombres todavía se refería en algunas de las vistas (archivos * .cshtml).
Solución esperada :
Deseo cuando hago "Build" o "Re-Build", debería reconocer esos errores y mostrarme junto con cualquier otro error.
Esto estaba funcionando bien con VS 2010, ¿me falta alguna configuración?
Gracias por adelantado !! Amit
Editar Encontré la respuesta yo mismo, creo que era temprano para publicar la pregunta:
la sintaxis razor con errores se compila cuando no debe compilarse
Otro problema
Después de cambiar el valor a True en el archivo .csproject, cuando empiezo a construir el proyecto, muestra un error, pero muestra solo un error a la vez. digamos, tengo 5 errores en total 3 vistas. me mostraría un error. ¿Hay alguna solución para que muestre los 5 errores?
Cuando intento construir mi MVC4 Web Project. No reconoce el error en la vista de la máquina de afeitar cuando hago "Build" o "Re-Build".
Parece normal. Las vistas de Razor se compilan dinámicamente mediante el tiempo de ejecución de ASP.NET. Si desea que sus vistas se construyan en tiempo de compilación, podría agregar la siguiente opción a su archivo .csproj
:
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Puede echar un vistazo a este artículo para más detalles.
De acuerdo con mi experiencia, además de la verdadera configuración mencionada anteriormente, aún necesita asegurarse de que exista la configuración a continuación en su archivo csproj:
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="''$(MvcBuildViews)''==''true''">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
Es realmente una respuesta muy simple. Pasa por estos pasos:
Descargar proyecto
Editar proyecto
Que la búsqueda:
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="''$(MvcBuildViews)''==''true''">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
debajo agrega
<Target Name="AfterBuild" Condition="''$(Configuration)''!=''Debug''">
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>
Eso es lo que descarga el proyecto. Construir
Y compruebe que la sintaxis de Ur funciona correctamente.
Estoy seguro.
Le recomiendo que agregue la etiqueta MmvcBuildViews como elemento secundario de la etiqueta Release PropertyGroup, de modo que las vistas solo se compilan cuando compila en modo Release (o cuando publica en modo Release). De esta forma, tu aplicación es más rápida cuando estás depurando. Y obtiene comprobaciones en tiempo de compilación antes de implementar (cuando construye en modo Release). En resumen, obtienes lo mejor de ambos mundos.
<PropertyGroup Condition=" ''$(Configuration)|$(Platform)'' == ''Release|AnyCPU'' ">
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Por defecto no compila vistas. Puede habilitar esta característica, pero tenga en cuenta que aumentará el tiempo de construcción.
- Puede habilitar la vista de compilación siguiendo estos pasos: Descargar proyecto.
- Abra el archivo del proyecto.
- Busque
<MvcBuildViews>false</MvcBuildViews>
y cámbielo para que seatrue
. - Cierre el archivo del proyecto y vuelva a cargar el proyecto