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...
{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.