11

私は MVC を初めて使用するので、新しいプロジェクトを開始して、MVC4 の新機能をいくつか試してみることにしました。Contentディレクトリに2 つの css ファイルがnormalise_miniあり、site.css. 次のコードを使用すると:

<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />

site.css正規化ファイルではなく、ファイルのみを使用します。アプリの開始時に次のものがあります。

protected void Application_Start()
{

    // Remove all other view engines except razor:
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new RazorViewEngine());

    AreaRegistration.RegisterAllAreas();

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);

    BundleTable.Bundles.RegisterTemplateBundles();
    BundleTable.Bundles.EnableDefaultBundles();
}

css ファイルごとにバンドルを作成する必要がありますか (この人が行っているように)? または、すべての css ファイルを自動的に検索する必要があります (これがデフォルトの動作であると予想されます)。このプロジェクトを Razor ビュー エンジンに基づく空の Web サイトとして開始したことは注目に値するかもしれません (実際にはまったく空ではありませんでした :/)

前もって感謝します


アップデート

投稿されたリンクによると、テンプレート バンドルを登録する行をコメント アウトする必要があります。例えば:

protected void Application_Start()
{

    // Remove all other view engines except razor:
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new RazorViewEngine());

    AreaRegistration.RegisterAllAreas();

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);

    //BundleTable.Bundles.RegisterTemplateBundles();  // This is not needed
    BundleTable.Bundles.EnableDefaultBundles();
}

これで動作します。私の考えでは、この 2 つのラインは問題なく共存できるはずです。設計によるものだと思いますが、設計が悪いのでしょうか?

4

2 に答える 2

10

他の誰かがすでにこの質問に答えています:

http://forums.asp.net/t/1776599.aspx/1?MVC+4+0+Bundling+Minification+not+working+

アップデート:

リンクだけでは質問に答えられないかもしれないという懸念を誰かが表明しています。このページにアクセスする人はリンクされたスレッドを読むべきだと私はまだ信じていますが、簡単な答えは、Application_Start() から BundleTable.Bundles.RegisterTemplateBundles() 行を削除し、BundleTable.Bundles.EnableDefaultBundles() に置き換えることです。

于 2012-03-08T20:09:27.030 に答える
0

注: EnableDefaultBundles は Optmization の 1.0.0 RTM バージョンで削除されましたが、独自の DynamicFolderBundles を設定することで同等の機能を引き続き取得できます。しかし、一般的に、これは問題を引き起こす可能性があります (通常、*.js を一括インクルードしたときにキャプチャされないファイルに依存関係があります)。そのため、明示的なバンドル設定に移行し、EnableDefaultBundles から離れました。

最新のドキュメント/チュートリアル: Codeplex Documentation

于 2012-08-29T19:02:27.530 に答える