新しいバンドル ワイルドカード {version} regex を理解し、十分に感謝しています。これは、更新後もスクリプトやスタイル ライブラリを取得し続けるためです。問題は、それを効果的に機能させることができないことです。
以前は、次の表記法を使用して jQuery スクリプトを取得していました。
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*"));
アスタリスクのワイルドカードに一致するすべてのファイルを取得します。
しかし、私が次のことを試したとき:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
jQuery ファイルが _Layout.cshtml ページに書き出されていないことに気付きました。
注 - 実際、両方の例で次の HTML コードを使用しています。
@Scripts.Render("~/bundles/jquery")
上記の最初の例 (" * ") 表記を使用すると、次のようにページに書き込まれます。
<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script>
しかし、「{version}」表記を使用すると、ライブラリを記述する必要がある空白のスペースしかありません。これは、jquery ファイルと関連する CSS スタイルシートの両方に関係します。
DEBUG または RELEASE モードのどちらでコンパイルしているかは問題ではありません。結果は同じです。明らかに、リリース モードでは、「*」表記を使用すると最適化されたバージョンが取得されます。
<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script>
私はすべての開発者がそうであるように完璧主義者なので、{version} 表記法が機能することを大いに期待しています。
私が間違っているかもしれないことについての洞察は大歓迎です。
前もって感謝します、ダン