.net - not - visual studio 2017 system web mvc
¿Por qué System.Web.Mvc no figura en Agregar referencias? (12)
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 ensamblaje no aparece en la lista. ¿Por qué?
"OK, agregando que XML para Web.config funciona, pero no responde la pregunta"
Debe 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.
Creo que encontrará que el ensamblado de MVC está referenciado en el archivo web.config, no en el proyecto en sí.
Algo como esto:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
Para responder a tu comentario;
La mejor respuesta que puedo dar es desde here :
El elemento agregar agrega una referencia de ensamblaje para usar durante la compilación de un recurso dinámico. ASP.NET vincula automáticamente este ensamblado al recurso al compilar cada módulo de código.
El ensamblaje deseado ha aparecido en la lista ahora.
Solo puedo especular qué causó que aparezca, pero sospecho que es el hecho de que fui Archivo → Nuevo → Proyecto → Aplicación web ASP.NET , 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.
En VS Express 2012 no pude encontrar System.Web.Mvc en la pestaña "ensambles", pero después de buscar un poco descubrí que tengo que buscar en la pestaña " ensambles / extensiones " en lugar de la predeterminada "ensamblajes / marco" "tab.
Esto ha cambiado para Visual Studio 2012 (sé que la pregunta original dice VS2010, pero el título seguirá apareciendo en las búsquedas).
Cuando crea un proyecto MVC de VS2012, system.web.mvc se coloca en la carpeta de paquetes que es similar a la solución. Esto se referenciará en el proyecto web de forma predeterminada y puede encontrar la ruta exacta allí).
Si desea hacer referencia a esto en un proyecto secundario (digamos un .dll compatible con filtros u otros atributos), puede hacer referencia desde allí.
He tenido el mismo problema y esta es la razón más divertida: supongo que espera que System.Web.Mvc
se encuentre en System.Web
en la lista. Pero la lista no es alfabética.
Primero clasifique la lista y luego mire cerca de System.Web
.
La mejor manera es usar el administrador de paquetes NuGet.
Simplemente actualice el siguiente paquete MVC y debería funcionar.
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.
También puede agregar esto desde la consola Nuget Package Manager, algo como:
Install-Package Microsoft.AspNet.Mvc -Version 4.0.20710.0 -ProjectName XXXXX
Microsoft.AspNet.Mvc tiene dependencias en:
- ''Microsoft.AspNet.WebPages (≥ 2.0.20710.0 && <2.1)''
- ''Microsoft.Web.Infraestructura (≥ 1.0.0.0)''
- ''Microsoft.AspNet.Razor (≥ 2.0.20710.0 && <2.1)''
... lo cual no me parece grande. En nuestro caso, esta es una biblioteca de clases que existe únicamente para proporcionar soporte para nuestras aplicaciones de Mvc. Entonces, creemos que es una dependencia benigna en el peor.
Definitivamente prefiero que esto apunte a un ensamblaje en el sistema de archivos o en el GAC, ya que la actualización del paquete en el futuro probablemente será mucho menos dolorosa que las experiencias que tuve con las referencias de ensamblado del sistema de archivos y GAC en el pasado.
Tuve el mismo problema y no pude encontrar el ensamblado de referencia System.Web.MVC.
Finalmente descubrí y estaba ubicado dentro de la siguiente ubicación.
Tenga en cuenta si su VS se instaló en C: (Algunas veces MVC.dll no se encuentra en la ubicación predeterminada de la que todos hablan, me refiero a la carpeta " Conjuntos 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.
Verifique estos pasos:
- Compruebe si MVC está instalado correctamente.
- Verifique la propiedad del proyecto y vea cuál es el Marco de objetivos del proyecto. Si el marco de destino no está configurado en .Net Framework 4, configúrelo.
Nota : si el marco de destino se establece en .Net Framework 4 Client Profile, no incluirá la referencia de MVC en la lista de referencias. Puede encontrar diferentes entre .Net Framework 4 y .Net Framework 4 Client Profile here .
.NET Framework 4 Client Profile es un subconjunto de .NET Framework 4 que está optimizado para aplicaciones cliente. Proporciona funcionalidad para la mayoría de las aplicaciones cliente, incluidas Windows Presentation Foundation (WPF), Windows Forms, Windows Communication Foundation (WCF) y las características de ClickOnce. Esto permite una implementación más rápida y un paquete de instalación más pequeño para aplicaciones que se dirigen a .NET Framework 4 Client Profile.
puede instalarse por separado, y no está incluido en framwork, elegir la lista de pestañas "extensiones" y existe hay y más otras librerías, todo está bien, no es necesario para utilizar libs antiguas, etc., existe viejo 20 30 y 4001