Question

I tried adding a custom sort to my script bundle as described here. However I get the following error when building the project:

Error 1 'Namespace.AsIsBundleOrderer' does not implement interface member 'System.Web.Optimization.IBundleOrderer.OrderFiles(System.Web.Optimization.BundleContext, System.Collections.Generic.IEnumerable)'

CODE:

public class AsIsBundleOrderer : IBundleOrderer
{
    public virtual IEnumerable<FileInfo> OrderFiles(BundleContext context, IEnumerable<FileInfo> files)
    {
        return files;
    }
}



public class BundleConfig
{
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    public static void RegisterBundles(BundleCollection bundles)
    {
        var bundle = new ScriptBundle("~/bundles/js").Include(
            "~/Scripts/jquery.min.js",
            "~/Scripts/jquery-ui.min.js",
            "~/Scripts/bootstrap.min.js",
            "~/Scripts/jquery.flot.categories.js",
            "~/Scripts/jquery.flot.js",
            "~/Scripts/jquery.flot.min.js",
            "~/Scripts/jquery.flot.orderBars.js",
            "~/Scripts/jquery.flot.pie.js",
            "~/Scripts/jquery.flot.resize.js",
            "~/Scripts/graphtable.js",
            "~/Scripts/fullcalendar.min.js",
            "~/Scripts/chosen.jquery.min.js",
            "~/Scripts/autoresize.jquery.min.js",
            "~/Scripts/jquery.autotab.js",
            "~/Scripts/jquery.jgrowl_minimized.js",
            "~/Scripts/jquery.dataTables.min.js",
            "~/Scripts/jquery.stepy.min.js",
            "~/Scripts/jquery.validate.min.js",
            "~/Scripts/jquery.cookie.js",
            "~/Scripts/raphael.2.1.0.min.js",
            "~/Scripts/justgage.1.0.1.min.js",
            "~/Scripts/glisse.js",
            "~/Scripts/styleswitcher.js",
            "~/Scripts/moderniz.js",
            "~/Scripts/jquery.sparkline.min.js",
            "~/Scripts/slidernav-min.js",
            "~/Scripts/jquery.fancybox.js",
            "~/Scripts/main.js",
            "~/Scripts/application.js",
            "~/Scripts/excanvas.min.js",
            "~/Scripts/float.settings.infobox.js"
        );

        bundle.Orderer = new AsIsBundleOrderer();
        bundles.Add(bundle);
Was it helpful?

Solution

Your method signature does not correspond to the interface. It should be this:

public virtual IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
{
    return files;
}

Notice that it's not IEnumerable<FileInfo> but IEnumerable<BundleFile>

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top