Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在BundleConfig文件中填充{version}值?_.net_Asp.net Mvc_Scriptbundle - Fatal编程技术网

.net 如何在BundleConfig文件中填充{version}值?

.net 如何在BundleConfig文件中填充{version}值?,.net,asp.net-mvc,scriptbundle,.net,Asp.net Mvc,Scriptbundle,我最近在我的项目中添加了jquery.dataTables nuget包,我想在BundleConfig中捆绑必要的文件。由于此软件包安装在脚本文件夹中的“DataTables-1.9.4”文件夹中,因此我在BundleConfig中添加了以下行: bundles.Add(new ScriptBundle("~/bundles/dataTables").Include( "~/Scripts/DataTables-{version}/media/js/jquery.dat

我最近在我的项目中添加了jquery.dataTables nuget包,我想在BundleConfig中捆绑必要的文件。由于此软件包安装在脚本文件夹中的“DataTables-1.9.4”文件夹中,因此我在BundleConfig中添加了以下行:

bundles.Add(new ScriptBundle("~/bundles/dataTables").Include(
            "~/Scripts/DataTables-{version}/media/js/jquery.dataTables.js"));
但是,我得到了以下错误:

System.Web.Optimization.dll中发生“System.ArgumentException”类型的异常,但未在用户代码中处理

当我将行修改为:

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


所以我的问题是,在JQuery捆绑包的情况下,如何注入版本?这是在包本身的某个地方定义的吗?有没有办法解决这个问题?我讨厌每次更新dataTables nuget包时都必须更改包配置的想法

{version}
只是告诉绑定器查找
N[.N[.N]]
格式的字符串,然后选择数字最大的文件。

不过我在这里找到了答案:


显然,此功能不支持文件夹…

{p>{version}不支持目录。它只支持文件名的一部分。

我知道,但看看哪里?它是否仅适用于文件夹或文件?你能解释它背后的全部逻辑吗?正如你在我的例子中看到的,它失败了,因为它被用于一个文件夹。。。