2008-12-03 25 views
13

Intenté precompilar mi aplicación ASP.NET MVC y desplegarla en un cuadro IIS6 (con asignación de caracteres comodín); sin embargo, estoy obteniendo un error al mostrar vistas parciales (controles de usuario). Está funcionando bien en mi máquina de desarrollo antes de precompilar.¿Puedo precompilar mi aplicación ASP.NET MVC?

El error es:

Server Error in '/' Application.

The partial view 'ListGrid' could not
be found. The following locations were
searched:
~/Views/Initiative/ListGrid.aspx
~/Views/Initiative/ListGrid.ascx
~/Views/Shared/ListGrid.aspx
~/Views/Shared/ListGrid.ascx

he comprobado Vistas \ Shared para el archivo y que no estaba allí, lo cual pensé que era normal porque su precompilado. Pero sólo por diversión que poner un archivo en blanco en los nombres de carpetas que ListGrid.ascx, pero luego me dio este mensaje:

Server Error in '/' Application.

The file '/Views/Shared/ListGrid.ascx'
has not been pre-compiled, and cannot
be requested.

Busqué en Google y busqué SO pero no pudo encontrar ningún problemas similares, pero no tuvo suerte.

+0

Hice una pregunta similar hace un tiempo: http://stackoverflow.com/questions/108405/how-can-i-compile-asp-net-aspx-pages-before-loading-them-with-a- webserver – Paco

Respuesta

3

Aunque puede precompilar un sitio MVC, los archivos de vista ascx y aspx no están en el dll compilado solo los archivos .cs. Aún necesitará implementar los archivos de vista .aspx y .ascx.

Esperanza esto ayuda

+8

En realidad, el sitio web precompilado contiene todo, incluidos los archivos ascx y aspx. Los originales aún deben estar presentes para que el tiempo de ejecución de ASP.NET acceda a ellos en formato binario, pero son solo marcadores de posición y no contienen ningún contenido. –

16

Puede precompilar una aplicación MVC mediante la colocación de esta en las acciones posterior a la generación en las propiedades del proyecto:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -p "$(ProjectDir)." -v /$(ProjectName) 

Esto toma un poco más largo que sin ella, sin embargo, se obtiene el Se agregó la capacidad de detectar algunos errores que ocurrirían en el tiempo de ejecución antes de la implementación.

La compilación fallará si tiene un código no válido en sus vistas o si le faltan vistas con este método.

Cuestiones relacionadas