2010-04-21 23 views
8

SaludosNo hay estilos/imágenes en la aplicación asp.Net MVC 2

tengo un pequeño problema con mi aplicación ASP MVC. En mi servidor de desarrollo local, todo funciona bien, pero cuando intento publicar la aplicación en un servidor IIS 7.0, solo muestra páginas simples sin estilos/marcas/imágenes.

Puse todas esas cosas en la subcarpeta/Content/pero cuando intento acceder a esa carpeta en el servidor de producción, simplemente me devuelve un error 404 no encontrado.

puse el servidor IIS con .Net 4.0 y siguieron la guía de implementación aquí: http://www.asp.net/learn/mvc/tutorial-08-cs.aspx

Todos los puntos de vista/controladores/clases parecen funcionar muy bien, lo único que no hace es la subcarpeta de contenido y No puedo ver por qué.

¿Alguien tiene una sugerencia de lo que podría haber pasado por alto o alguien sabe el problema?

+0

¿Qué sucede si intenta navegar directamente a los archivos CSS desde su navegador? –

+0

404 también ... – xenolf

+0

¿Cómo hace referencia a sus archivos estáticos? Relativa o absolutamente? ¿Cómo se configura su aplicación en IIS? ¿Como sitio web raíz o como una carpeta de aplicaciones dentro de otro sitio? –

Respuesta

0

Compruebe las propiedades de sus carpetas de contenido ... vea si no están 'copiando localmente' por algún motivo.

+1

Acabo de comprobar que ... todo se copia de la mejor manera ... parece que de alguna manera la ruta se confunde con los archivos existentes. Estoy usando el enrutamiento predeterminado que en realidad debería encargarse de eso, ¿o estoy equivocado? – xenolf

2

Esto se debe a que probablemente esté utilizando una ruta de acceso fija en el src, como: ../../Content/Styles/style.css. En MVC, debe usar el ayudante de Url: Url.Content("~/Content/Styles/style.css").

Al usar el Ayudante de Url no debería tener problemas.

10

Tuve el mismo problema, pero encontré la razón por la que estaba forzando la autenticación en la carpeta Contenido.

Cuando un usuario aún no ha iniciado sesión, se clasifican como Autenticación anónima. En IIS7 (que es lo que estoy usando, adivinando que es lo mismo en IIS6), debe abrir la ventana de autenticación en la vista de características. Luego edite la Autenticación anónima, para usar su identidad de grupo de aplicaciones, o la predeterminada, solo asegúrese de que el usuario tenga permisos para leer en esa carpeta.

Eso lo arregló para mí, espero que funcione para usted.

+0

Gracias, Conner, eso resolvió mi problema – arame3333

+0

¡Gracias, la verdadera solución! – Tomas

1

He estado tirando de mi cabello toda la noche con este.

En W2K8, MVC2, .NET 4.0 y IIS 7 (utilizando VS 2010)

se aseguró de que IIS_IUSRS tenía pleno derecho a la carpeta raíz, pero sigue sin ir - CSS, JS, imágenes todavía no se está accediendo en la prestación de la página ....

y luego .... tan simple:

en vista de características para el sitio - tipos MIME definidos para js, css, y .jpg - y listo!

¡Dulce!

p.s. mi primera aplicación MVC - y creo que me está gustando ...

3

Bueno, añaden los IIS_IUSR s al directorio del proyecto y encontró el mismo problema:
CSS no se carga y nada de la carpeta de contenido .
Pero resolvió el problema Unable to start debugging on the web server.
Luego, agregué el IUSR a la misma carpeta y eso solucionó el problema.Ahora, puedo ver imágenes, estilos CSS y todo eso.

+0

cuando compartí mi wwwroot forlder (para otro usuario) ¡entonces eliminó la configuración de IUSR! perdí algunas horas en este error. Gracias. –

0

La carpeta a la que apunta su directorio virtual le dio al usuario "Todas" las propiedades de lectura.

Cuestiones relacionadas