How is {version} value being populated in BundleConfig file?

9.2k views Asked by At

I recently added jquery.dataTables nuget package to my project and I wanted to bundle the necessary files inside the BundleConfig. Since this package is installed inside a "DataTables-1.9.4" folder within Scripts folder I added the following line to my BundlesConfig:

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

However I got the following error:

An exception of type 'System.ArgumentException' occurred in System.Web.Optimization.dll but was not handled in user code

When I modify the line to:

bundles.Add(new ScriptBundle("~/bundles/dataTables").Include(
            "~/Scripts/DataTables-1.9.4/media/js/jquery.dataTables.js"));

it works just fine.

So my question is how does the version get injected in the case of JQuery bundle? Is this defined someplace in the package itself and is there a way for me to fix this? I hate the idea of having to change my bundle config every time I update the dataTables nuget package...

3

There are 3 answers

0
Marko On BEST ANSWER

Nevermind I found the answer here:

New .NET feature bundle and minification {version} wildcard doesn't work with directories?

Apparently folders are not supported by this feature...

1
Chris Pratt On

{version} just tells the bundler to look for a string in the form of N[.N[.N]] and pick the file with the highest numbers.

0
Manoj Weerasooriya On

{version} is not support to the directories.It is only support to the part of the file name.