System.Web.Optimization和Microsoft.Web.Optimization将不会在vs 2012中加载引用

Mac*_*lty 31 asp.net-mvc asp.net-optimization

我正在开发一个在Visual Studio 2010中启动的MVC 4项目.现在我正在使用Visual Studio 2012开发一台机器,因为我无法访问我最初使用的机器.我整个上午都试着找到答案,但它们似乎对我的情况没有帮助.

我按照如何为MVC-3-converted-to-4 app添加对System.Web.Optimization的引用,并从nuget安装到我的解决方案中.即使我已经在我的机器上下载并安装了所有必需的参考包,System.Web.Optimization仍然会一直缺失.还有什么我可以做的吗?

编辑:当我尝试构建项目时,我收到以下错误

  • 名称空间'System.Web'中不存在类型或命名空间名称'Optimization'(您是否缺少程序集引用?) - BundleConfig.cs
  • 名称空间'System.Web'中不存在类型或命名空间名称'Optimization'(您是否缺少程序集引用?) - Global.asax.cs
  • 找不到类型或命名空间'BundleCollection'(您是否缺少using指令或程序集引用?) - BundleConfig.cs

我的BundleConfig.cs包含

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"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ick 78

我在VS2012中打开的VS2010项目遇到了同样的问题.Microsoft.AspNet.Web.Optimization包丢失了,所以我只需要使用Nuget Package Manager下载它.

您可以在控制台中运行: Install-Package Microsoft.AspNet.Web.Optimization


rid*_*ido 59

我知道这很令人困惑,但你需要这样做 Install-Package Microsoft.AspNet.Web.Optimization


Bry*_*end 13

尝试转到Views文件夹中的web.config并删除以下行:

        <add namespace="System.Web.Optimization" />
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题.


sda*_*kas 12

这是一个很长的镜头,但无论如何它都是正确的,右键单击项目 - >属性页并确保存在System.Web.Optimization条目.如果没有,请将System.Web.Optimization.dll复制到bin文件夹或将其作为参考导入.

编辑:mvc项目没有"属性页"菜单选项.

您可以尝试的另一件事是创建一个新的mvc4基本项目,转到解决方案的bin文件夹并将System.Web.Optimization.dll复制到另一个项目的bin文件夹中,该文件夹会给您错误.如果找不到dll,请尝试更新nuget包.


小智 6

转到工具>>库包管理器>>管理Nuget包>>安装Microsoft ASP.NET Web优化框架


smi*_*ing 6

我和这个争斗了一个小时,上述建议都没有奏效.最后只有以下工作(由于一些钝的原因):

  1. ctrl -q - >输入"包管理器控制台"
  2. Uninstall-Package Microsoft.AspNet.Web.Optimization <problem project name>
  3. Install-Package Microsoft.AspNet.Web.Optimization <problem project name>

警告/单挑

  • 以上将安装最新版本Microsoft.AspNet.Web.Optimization.如果您想要特定版本(比如v1.1.1),请使用Install-Package Microsoft.AspNet.Web.Optimization <problem project name> -Version 1.1.1
  • 不要忘记<problem project name>参数或nuget将在解决方案级别运行,可能会践踏兄弟项目.
  • 请注意,省略项目名称本身对于进行解决方案级别版本更新或程序包安装非常方便.