Jak mogę określić wyraźne zamówienie ScriptBundle?

PróbujęFunkcja MVC4 System.Web.Optimization 1.0 ScriptBundle.

Mam następującą konfigurację:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        // shared scripts
        Bundle canvasScripts =
            new ScriptBundle(BundlePaths.CanvasScripts)
                .Include("~/Scripts/modernizr-*")
                .Include("~/Scripts/json2.js")
                .Include("~/Scripts/columnizer.js")
                .Include("~/Scripts/jquery.ui.message.min.js")
                .Include("~/Scripts/Shared/achievements.js")
                .Include("~/Scripts/Shared/canvas.js");
        bundles.Add(canvasScripts);
    }
}

i następujący widok:

<script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script>

gdzieBundlePaths.CanvasScripts jest"~/bundles/scripts/canvas". To czyni to:

<script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script>

Do tej pory tak dobrze, z wyjątkiem~/Scripts/Shared/achievements.js to pierwszy skrypt w dołączonym źródle. To zależy od każdego skryptu zawartego przed nim wScriptBundle. Jak mogę się upewnić, że honoruje kolejność dodawania oświadczeń do pakietu?

Aktualizacja

Była to stosunkowo nowa aplikacja ASP.NET MVC 4, ale odwoływała się ona do pakietu wstępnego pakietu optymalizacji. Usunąłem go i dodałem pakiet RTMhttp://nuget.org/packages/Microsoft.AspNet.Web.Optimization. W wersji RTM z debug = true w web.config,@Scripts.Render("~/bundles/scripts/canvas") renderuje poszczególne znaczniki skryptu w odpowiedniej kolejności.

Z debug = false w web.config, połączony skrypt ma najpierw skrypt achievements.js, ale ponieważ jest to definicja funkcji (konstruktor obiektów), która jest wywoływana później, działa bez błędu. Być może miniatura jest na tyle sprytna, by zrozumieć zależności?

Próbowałem teżIBundleOrderer implementacja, którą Darin Dimitrov zasugerował w RTM z obiema opcjami debugowania i zachowała się tak samo.

Tak więc wersja minified nie jest w porządku, jakiego oczekuję, ale działa.

questionAnswers(7)

yourAnswerToTheQuestion