Je travaille sur un projet MVC 4 démarré dans Visual Studio 2010. En ce moment, je travaille sur une machine avec Visual Studio 2012 car je n'ai pas accès à la machine sur laquelle je travaillais à l'origine. J'ai essayé toute la matinée de trouver des réponses, mais elles ne semblent pas aider ma situation.
J'ai suivi Comment ajouter une référence à System.Web.Optimization pour l'application MVC-3 convertie en 4 et installé à partir de nuget directement dans ma solution. Même si tous les packages de référence requis ont été téléchargés et installés sur ma machine, System.Web.Optimization
continue de manquer. Y at-il autre chose que je puisse faire?
Modifier: lorsque j'essaie de créer le projet, je reçois les erreurs suivantes
Mon BundleConfig.cs contient
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"));
}
}
}
C'est un long plan mais ici ça va quand même, faites un clic droit sur le projet -> Pages de propriétés et assurez-vous que l'entrée System.Web.Optimization existe. Sinon, copiez System.Web.Optimization.dll dans votre dossier bin ou importez-le comme référence.
Edit: les projets mvc n'ont pas l'option de menu "Pages de propriétés".
Une autre chose que vous pouvez essayer est de créer un nouveau projet de base mvc4, accédez au dossier bin de la solution et copiez le System.Web.Optimization.dll dans le dossier bin de votre autre projet qui vous donne l'erreur. Si vous ne trouvez pas la DLL, essayez de mettre à jour les packages de nuget.
J'ai eu le même problème avec un projet VS2010 que j'ai ouvert dans VS2012. Le package Microsoft.AspNet.Web.Optimization était manquant, je devais juste le télécharger à l'aide de Nuget Package Manager.
Vous pouvez exécuter dans la console: Install-Package Microsoft.AspNet.Web.Optimization
Je sais que c'est déroutant, mais vous devrez Install-Package Microsoft.AspNet.Web.Optimization
Essayez d'accéder au site web.config dans le dossier Vues et de supprimer la ligne suivante:
<add namespace="System.Web.Optimization" />
Cela m'a arrangé.
J'ai lutté pendant une heure et aucune des suggestions ci-dessus n'a fonctionné. En fin de compte, seuls les éléments suivants ont fonctionné (pour une raison obtuse):
Uninstall-Package Microsoft.AspNet.Web.Optimization <problem project name>
Install-Package Microsoft.AspNet.Web.Optimization <problem project name>
Microsoft.AspNet.Web.Optimization
. Si vous voulez une version particulière (disons v1.1.1), utilisez Install-Package Microsoft.AspNet.Web.Optimization <problem project name> -Version 1.1.1
<problem project name>
paramètre ou nuget fonctionnera au niveau de la solution, piétinant éventuellement les projets frères.Accédez aux outils >> Gestionnaire de packages de bibliothèque >> Gérer les packages Nuget >> installer le framework d'optimisation Web Microsoft ASP.NET
La désinstallation et la réinstallation du package Microsoft.AspNet.Web.Optimization l'ont résolu pour moi.
La réinstallation de system.web.optimization à l'aide du gestionnaire de packages Nuget a résolu ce problème pour moi.
Je sais qu'il existe de nombreuses réponses à ce problème, mais essayez-le dans Visual Studio en tant qu'administrateur. Cela a résolu mon cas.
Ce qui a fonctionné pour moi dans un scénario spécifique (j'ai téléchargé un projet MVC à partir du contrôle de code source et reçu cette erreur), a été d'ouvrir un nouveau projet MVC sur la même solution. Ensuite, j'ai pu supprimer le nouveau projet que j'ai créé et il fonctionne toujours (sur VS2012).
J'ai résolu ce problème en définissant la référence à Assembly System.Web.Optimization.dll pour copier local sur true.