asp.net mvc - mvc - System.Web.Optimization y Microsoft.Web.Optimization no cargarán referencia en vs 2012
package manager console (11)
Desinstalar y reinstalar el paquete Microsoft.AspNet.Web.Optimization lo resolvió para mí.
Estoy trabajando en un proyecto de MVC 4 iniciado en Visual Studio 2010. Ahora mismo estoy trabajando en una máquina con Visual Studio 2012 ya que no tengo acceso a la máquina en la que estaba trabajando originalmente. Intenté toda la mañana para encontrar respuestas, pero no parecen ayudar a mi situación.
Seguí Cómo agregar una referencia a System.Web.Optimization para la aplicación MVC-3-convertida a 4 e instalada desde nuget en mi solución. Aunque tengo todos los paquetes de referencia necesarios descargados e instalados en mi máquina, System.Web.Optimization
sigue sin aparecer. ¿Hay algo mas que pueda hacer?
Editar: Cuando intento construir el proyecto, recibo los siguientes errores
- El tipo o el nombre del espacio de nombres ''Optimización'' no existe en el espacio de nombres ''System.Web'' (¿falta una referencia de ensamblado?) - BundleConfig.cs
- El tipo o el nombre del espacio de nombres ''Optimización'' no existe en el espacio de nombres ''System.Web'' (¿falta una referencia de ensamblado?) - Global.asax.cs
- No se pudo encontrar el tipo o el espacio de nombres ''BundleCollection'' (¿falta una directiva using o una referencia de ensamblado?) - BundleConfig.cs
Mi BundleConfig.cs contiene
using System.Web;
using System.Web.Optimization;
namespace BCCDC_AdminTool
{
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/? LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
// Use the development version of Modernizr to develop with and learn from. Then, when you''re
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.resizable.css",
"~/Content/themes/base/jquery.ui.selectable.css",
"~/Content/themes/base/jquery.ui.accordion.css",
"~/Content/themes/base/jquery.ui.autocomplete.css",
"~/Content/themes/base/jquery.ui.button.css",
"~/Content/themes/base/jquery.ui.dialog.css",
"~/Content/themes/base/jquery.ui.slider.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.theme.css"));
}
}
}
Esta es una posibilidad remota, pero aquí va de todos modos, haga clic derecho en el proyecto -> Páginas de propiedades y asegúrese de que exista la entrada System.Web.Optimization. De lo contrario, copie System.Web.Optimization.dll en su carpeta bin o impórtelo como referencia.
Editar: los proyectos de mvc no tienen la opción de menú "Páginas de propiedades".
Otra cosa que puede intentar es crear un nuevo proyecto básico mvc4, ir a la carpeta bin de la solución y copiar el System.Web.Optimization.dll a la carpeta bin de su otro proyecto que le está dando el error. Si no puede encontrar el dll, intente actualizar los paquetes nuget.
Intente acceder al archivo web.config en la carpeta Vistas y elimine la siguiente línea:
<add namespace="System.Web.Optimization" />
Eso lo solucionó para mí.
Ir a herramientas >> Administrador de paquetes de biblioteca >> Administrar paquetes de Nuget >> instalar el marco de optimización web de Microsoft ASP.NET
Lo que funcionó para mí en un escenario específico (descargué un proyecto MVC del control de código fuente y recibí ese error) fue abrir un nuevo proyecto MVC en la misma solución. Después pude eliminar el nuevo proyecto que he creado y todavía funciona (en VS2012).
Luché esto por una hora y ninguna de las sugerencias anteriores funcionó. Al final, solo lo siguiente funcionó (por alguna razón obtusa):
- ctrl-q -> escribe "consola del administrador de paquetes"
-
Uninstall-Package Microsoft.AspNet.Web.Optimization <problem project name>
-
Install-Package Microsoft.AspNet.Web.Optimization <problem project name>
ADVERTENCIA / HEADS-UP
- lo anterior instalará la última versión de
Microsoft.AspNet.Web.Optimization
. Si desea una versión en particular (digamos v1.1.1), useInstall-Package Microsoft.AspNet.Web.Optimization <problem project name> -Version 1.1.1
- no olvide el parámetro
<problem project name>
o nuget operará en el nivel de Solución, posiblemente pisoteando los proyectos hermanos. - Tenga en cuenta que omitir el nombre del proyecto es realmente útil para realizar actualizaciones de versiones a nivel de solución o instalaciones de paquetes.
Reinstalar system.web.optimizaiton usando el administrador de paquetes Nuget resolvió este problema para mí ...
Sé que es confuso, pero deberá Install-Package Microsoft.AspNet.Web.Optimization
Sé que hay muchas respuestas a este problema, pero pruébelo: abra el proyecto en Visual Studio como administrador. Lo resolvió en mi caso.
Solucioné este problema estableciendo la referencia al ensamblado System.Web.Optimization.dll para copiar local a verdadero.
Tuve el mismo problema con un proyecto VS2010 que abrí en VS2012. Faltaba el paquete Microsoft.AspNet.Web.Optimization, así que solo necesitaba descargarlo usando Nuget Package Manager.
Puede ejecutar en la consola: Install-Package Microsoft.AspNet.Web.Optimization