Я понимаю и полностью ценю новое регулярное выражение с подстановочными знаками {версия}, так как оно будет продолжать подбирать ваши библиотеки сценариев и стилей даже после обновления и т. д. Проблема в том, что я не могу заставить его работать эффективно.
Раньше я использовал следующую нотацию, чтобы подобрать свои сценарии 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>
Однако, когда я использую нотацию "{версия}", там, где должна быть написана библиотека, есть просто пустое место. Это относится как к файлам jquery, так и к связанным с ними таблицам стилей CSS.
Неважно, компилирую ли я для режима DEBUG или RELEASE. Результаты такие же. Очевидно, что в режиме выпуска я получу оптимизированную версию при использовании обозначения «*»:
<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script>
Так что, будучи перфекционистом, как и все разработчики, я очень хотел бы, чтобы нотация {версия} работала для меня, так как я всегда в курсе новых выпусков и хотел бы, чтобы этот контроль над моими развертываниями.
Любое понимание того, что я могу делать неправильно, очень ценится.
Заранее спасибо, Дэн