2009-02-05 22 views
39

¿Dónde se supone que debe ir Web.config en un proyecto ASP.NET MVC?ASP.NET MVC y dos archivos Web.config

simplemente me encontré con un error tratando de hacer esto:

_cnstr = System.Configuration.ConfigurationManager. 
    ConnectionStrings["production"].ConnectionString; 

prefijado de la plantilla MVC pone el Web.config en la raíz del proyecto.

Si entra en las propiedades de un proyecto (la pantalla con las pestañas verticales). Vaya a la configuración e intente crear una configuración de la aplicación, le indicará que no tiene un archivo de configuración. Cuando crea el archivo, lo hace en la base de la carpeta Vistas. Así que ahora tengo dos archivos Web.config. ¿Es así como se supone que es?

Y supongo que debo poner mi cadena de conexión en el "vistas" web.config para evitar el error. ¿Pensamientos? ¿Es esto un error en la última versión de los bits ASP.NET MVC?

ACTUALIZACIÓN: Respuesta de ver a David

+0

Consulte también [aquí] (http://stackoverflow.com/q/23509617) para obtener más información sobre el propósito de las vistas web.config – StuartLC

Respuesta

61

La configuración debe entrar en el web.config en la raíz de la aplicación. El archivo web.config en la carpeta de vistas está allí para bloquear el acceso directo a las páginas de vista aspx que solo deberían ser servidas a través de los controladores.

(Y: He intentado crear configuración de la aplicación en mi máquina, con instala ASP.NET MVC RC 1, mediante una aplicación web MVC recién creado Ellos se añaden a la web.config en la raíz de la aplicación..)

+0

Gracias por la explicación. Tengo mi cadena de conexión en la raíz, que es donde debo haber pensado que primero lo puse. Pero ahora todo está funcionando bien gracias por la explicación. – BuddyJoe