4

これは私を夢中にさせています。私はバンドルを持っています

            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

Scriptsフォルダーにあります

  • jquery-1.9.1.js
  • jquery-1.9.1.min.js
  • jquery-1.9.1.min.map

レイアウトページには次のものがあります。

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryui")
    @Scripts.Render("~/bundles/jqueryval")

デバッグまたはリリース ビルドで実行すると、jquery が取得されません。デバッガーからコードにステップインしましたが、バンドルが jquery 用に作成されたときに何も含まれていません。{version} ワイルドカードが jquery を取得しない理由を知っている人はいますか? どんな助けでも大歓迎です。

4

3 に答える 3

0

これとまったく同じ問題があり、修正が見つかりました。{version} トークンの代わりに jquery ファイルのバージョン番号を使用すると、バンドル/ミニフィケーションで問題なく使用できることに気付きました。問題は、{version} トークンが置き換えられず、jquery ファイルをバンドルにプルできなかったことです。

System.Web.Optimization dll がバンドル構成の {version} トークンの変換を担当しているようです。NuGetを使用してこのdllを更新することになりました。また、作業中に MVC 関連のすべての dll (Razor、MVC、Web ページなど) を更新しました。その後、うまくいきました。

これが問題であるかどうかは、バンドルの構築とバンドル構成への追加の操作を分割することで確認できます。バンドル オブジェクトを新規作成します。その上にブレークポイントを置きます。Include メソッドを実行してから、バンドル構成で add メソッドを実行して、新しいバンドルを追加します。バンドルにステップインすると、Include メソッドを実行した後にその内部を調べて、それに応じて Item プロパティが増加するかどうかを確認できます。それが問題だったとき、それは私のために増加していませんでした。

また、ここには MVC 4 から MVC 5 に移行するための非常によくできた参照があります。NuGet パッケージを更新した後、すべてのアセンブリ参照を更新するためにいくつかの作業が必要でした。

http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and- web-api-2

ASP.NET: このメソッドは、アプリケーションの開始前の初期化段階では呼び出すことができません

于 2013-10-23T22:30:20.523 に答える
0

Global.asax で、バンドルをロードしていますか?

例えば:

public class MvcApplication : System.Web.HttpApplication
{
        protected void Application_Start()
        {
            ....

            // Register Bundles
            BundleConfig.RegisterBundles(BundleTable.Bundles);

        }
}
于 2013-06-07T21:39:14.003 に答える