MVC-3 から 4 に変換されたアプリに System.Web.Optimization への参照を追加する方法 質問する

MVC-3 から 4 に変換されたアプリに System.Web.Optimization への参照を追加する方法 質問する

最近 MVC 3 から MVC 4 ベータ版に変換したプロジェクトで、新しいバンドル機能を使用しようとしています。これには、global.asax のコード行が必要で、先頭にBundleTable.Bundles.RegisterTemplateBundles();が必要です。using System.Web.Optimization;

これを実行すると、「アセンブリ参照がありませんか?」という赤い波線が表示されます。参照を追加しようとして、ダイアログの .NET タブをクリックし、AZ から並べ替えても、表示されませんSystem.Web.Optimization

この参照をプロジェクトに追加するにはどうすればよいですか?

ベストアンサー1

アップデート
バージョン 1.1.x が利用可能です。リリース ノートをお読みください:https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization


Microsoft.Web.Optimization パッケージは廃止されました。ASP.NET (MVC) 4 以降では、Microsoft ASP.NET Web Optimization Framework をインストールする必要があります。

  • パッケージをインストールするナゲット:

    Install-Package Microsoft.AspNet.Web.Optimization
    
  • App_Start\BundleConfig.cs でバンドルを作成して構成します。

    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles) {
            bundles.Add(new ScriptBundle("~/Scripts/jquery").Include(
                "~/Scripts/Lib/jquery/jquery-{version}.js",
                "~/Scripts/Lib/jquery/jquery.*",
                "~/Scripts/Lib/jquery/jquery-ui-{version}.js")
            );
    
            bundles.Add(new ScriptBundle("~/Scripts/knockout").Include(
                 "~/Scripts/Lib/knockout/knockout-{version}.js",
                 "~/Scripts/Lib/knockout/knockout-deferred-updates.js")
            );
        }
    }
    
  • global.asax.cs の Application_Start() から RegisterBundles() 関数を呼び出します。

    using System.Web.Optimization;
    
    protected void Application_Start() {
         ...
         BundleConfig.RegisterBundles(BundleTable.Bundles);
         ...
    }
    
  • view.cshtml に Optimization 名前空間を含め、バンドルをレンダリングします。

    @using System.Web.Optimization
    
    @Scripts.Render("~/Scripts/jquery")
    @Scripts.Render("~/Scripts/knockout")
    

見るhttp://www.asp.net/mvc/overview/performance/bundling-and-minification詳細については

おすすめ記事