6

Rozumiem i doceniam nowy pakiet wildware {version} regex, ponieważ będzie on nadal pobierał biblioteki skryptów i stylów nawet po aktualizacji itp. Problem polega na tym, że nie może sprawić, by działał skutecznie.MVC4 Bundling Wildcards - * vs. {wersja}

Wcześniej użyć następującego zapisu odebrać moje skrypty jQuery:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
      "~/Scripts/jquery-1.*")); 

i byłoby zebrać wszystkie pliki pasujące do wieloznaczny gwiazdka.

Ale kiedy próbowałem następujące:

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

zauważyłem, że plik jQuery nie został wypisany do strony _Layout.cshtml.

UWAGA - ja rzeczywiście stosując następujący kod HTML na obu przykładach:

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

Kiedy używam pierwszy przykład powyżej („*”) notacji jest napisane na stronie następujący:

<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script> 

Jednak kiedy używam notacji "{version}", jest tylko puste miejsce, w którym powinna być zapisana biblioteka. Dotyczy to zarówno plików jquery, jak i powiązanych arkuszy stylów CSS.

Nie ma znaczenia, czy kompiluję dla trybu DEBUG lub RELEASE. Wyniki są takie same. Oczywiście w trybie zwolnienia Wezmę wersję zoptymalizowaną przy użyciu „*” notację:

<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script> 

Więc będąc perfekcjonistą, że wszyscy deweloperzy są wielce bym chciał zobaczyć prace {version} notacji dla mnie, ponieważ mam aktualne informacje o nowych wersjach i chciałbym, aby ta kontrola w moich wdrożeniach.

Każdy wgląd w to, co robię źle, jest bardzo doceniany.

Dzięki z góry, Dan

+0

W jakiej wersji .Net prowadzisz projekt? Uważam, że istnieje ograniczenie do .net 4.5 dla słowa kluczowego {version}. –

+0

Cześć John, rzeczywiście używam frameworka .Net 4.5, i być może właśnie tam pochodzą niektóre problemy. Wydaje mi się, że to wystarczająco długo, aby działało do tej pory, chociaż nie sprawdziłem, ponieważ * notacja działa i pozwala mi iść naprzód. – djmarquette

+2

Czy w rozwiązaniu są dostępne zarówno pliki .min.js, jak i .js pliku jQuery? We wcześniejszych wersjach optymalizacji sieci Web istniało założenie dotyczące używania plików .min w trybie wydania i plików bez .min w debugowaniu, nawet jeśli plik nie istnieje. To zachowanie zostało zmienione w późniejszych wersjach. Zobacz http://aspnetoptimization.codeplex.com/workitem/32. Nie jestem pewien, czy to był twój problem, ponieważ nazwa pliku, który cytujesz, jest bez nazwy .min. – pwdst

Odpowiedz

0

Spróbuj zaktualizować Microsoft.AspNet.Web.Optimization i powiązanych pakietów Nuget: Microsoft.Web.Infrastructure, WebGrease, antlr. Sprawdź nie tylko kartę "nuget.org", ale także "Wszystkie".