Usando C #, Visual Studio 2010.
Hay un espacio de nombres llamado System.Web.Mvc documentado en MSDN. La documentación para todos los tipos en ese espacio de nombres dice que están en System.Web.Mvc.dll
.
Sin embargo, cuando voy a Agregar referencia, pestaña ".NET", este ensamblado falta en la lista. ¿Por qué?
Respuestas:
En VS Express 2012 no pude encontrar System.Web.Mvc en la pestaña "ensamblados", pero después de un poco de búsqueda descubrí que necesitaba buscar en la pestaña " ensamblados \ extensiones " en lugar de la "ensamblados \ marco" predeterminados "pestaña.
fuente
Could not load file or assembly...The located assembly's manifest definition does not match the assembly reference
). Tengo otro proyecto en mi solución que hace referencia a una versión diferente, y este método solo me permitió agregar una referencia a System.Web.Mvc, Versión = 4.0.0.0. El método de instalación de NuGet agregó la versión correctaLa mejor manera es usar el administrador de paquetes NuGet.
Simplemente actualice el siguiente paquete MVC y debería funcionar.
fuente
Tuve el mismo problema y no pude localizar el ensamblaje de referencia System.Web.MVC.
Finalmente lo descubrí y se ubicó dentro de la siguiente ubicación.
Tenga en cuenta si su VS se instaló en C: (A veces, el MVC.dll no está en la ubicación predeterminada de la que todos hablan, me refiero a la carpeta " Ensamblados de referencia " ubicada en la unidad C:).
si no está allí, definitivamente debería estar aquí:
\ Archivos de programa (x86) \ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll
Por lo tanto, agregue el dll a través de la navegación o la pestaña de exploración en el menú Agregar referencia.
fuente
También puede agregar esto desde la consola de Nuget Package Manager, algo así como:
Microsoft.AspNet.Mvc tiene dependencias en:
... lo cual no parece ser un problema para mí. En nuestro caso, esta es una biblioteca de clases que existe únicamente para proporcionar soporte para nuestras aplicaciones Mvc. Entonces, pensamos que es una dependencia benigna en el peor de los casos.
Definitivamente prefiero esto a apuntar a un ensamblaje en el sistema de archivos o en el GAC, ya que actualizar el paquete en el futuro probablemente será mucho menos doloroso que las experiencias que he tenido con el GAC y las referencias de ensamblaje del sistema de archivos en el pasado.
fuente
He tenido el mismo problema y aquí está la razón divertida: supongo que esperas
System.Web.Mvc
que se encuentre debajoSystem.Web
de la lista. Pero la lista no es alfabética.Primero ordene la lista y luego mire cerca de
System.Web
.fuente
Debería estar allí. Por defecto, la lista de agregar referencias parece estar ordenada, pero no es el caso. Presiona el encabezado del nombre y mira de nuevo.
fuente
Revisa estos pasos:
Nota : si el marco de destino se establece en .Net Framework 4 Client Profile, no incluirá la referencia MVC en la lista de referencias. Puede encontrar diferentes entre .Net Framework 4 y .Net Framework 4 Client Profile aquí .
fuente
Resolví este problema buscando "mvc". El System.Web.Mvc apareció en los resultados de búsqueda, a pesar de que no está incluido en la lista.
fuente
El ensamblaje deseado ha aparecido en la lista ahora.
Solo puedo especular qué causó su aparición, pero sospecho que es el hecho de que fui File → New → Project → ASP.NET Web Application , lo que nunca había hecho antes. Es posible que esto haya causado algún tipo de inicialización tardía y que la lista se complete con ensamblados adicionales para el desarrollo web.
fuente
Esto ha cambiado para Visual Studio 2012 (sé que la pregunta original dice VS2010, pero el título aún aparecerá en las búsquedas).
Cuando crea un proyecto MVC VS2012, el system.web.mvc se coloca en la carpeta de paquetes que es igual a la solución. Esto se hará referencia en el proyecto web de forma predeterminada y puede encontrar la ruta exacta allí).
Si desea hacer referencia a esto en un proyecto secundario (por ejemplo, un archivo .dll de soporte con filtros u otros atributos), puede hacerlo desde allí.
fuente
No obtuve System.Web.Mvc en VS 2012, pero lo obtuve en VS 2013. Utilizando AddReference Dialog,
O bien, puede encontrar esto en la ruta de su proyecto,
YourProjectName \ packages \ Microsoft.AspNet.Mvc.5.0.0 \ lib \ net45 \ System.Web.Mvc.dll
fuente
Creo que encontrará que el ensamblado MVC está referenciado en el archivo web.config, no en el proyecto en sí.
Algo como esto:
Para responder a tu comentario;
La mejor respuesta que puedo dar es desde aquí :
fuente
se puede instalar por separado, y no se incluye en el marco, elija "extensiones" de la lista de pestañas y existe y hay más otras bibliotecas, todo está bien, no es necesario para usar bibliotecas antiguas, etc., existe viejo 20 30 y 4001
fuente
Si tiene este problema en Visual Studio 2017, es probable que esté trabajando con un proyecto MVC 4 creado en una versión anterior de VS con una ruta de referencia que apunta a
C:\Program Files (x86)\Microsoft ASP.NET
. Visual Studio 2017 ya no instala este directorio.Por lo general, resolvemos esto instalando una copia de Visual Studio 2015 junto con nuestra instancia de 2017, y eso instala las bibliotecas necesarias en la ruta anterior. Luego actualizamos todas las referencias en los proyectos afectados y estamos listos para comenzar.
fuente