我的团队使用自定义NuGet包来安装jQuery UI,它将主题文件放入如下目录结构中:
我正在尝试使用ASP.NET MVC 4捆绑包将此内容包含在我的应用程序的App_Start文件夹中的BundleConfig类中,如下所示:
bundles.Add( new StyleBundle( "~/bundles/css" )
.Include( "~/Content/normalize-{version}.css",
"~/Content/jquery-ui-{version}/jquery-ui.css",
"~/Content/Site.css" ) );
运行网站时会抛出错误:
Directory does not exist.
Parameter name: directoryVirtualPath
我也尝试过:
bundles.Add( new StyleBundle( "~/bundles/css" )
.Include( "~/Content/normalize-{version}.css" )
.IncludeDirectory( "~/Content/jquery-ui-*", "*.css" )
.Include( "~/Content/Site.css" ) );
这显然也不起作用。我可以在文件夹上明确指定版本,但这会破坏使用捆绑包的部分好处。
那么如何在文件夹路径中使用通配符?
答案 0 :(得分:6)
您可以使用IncludeDirectory
的重载版本来搜索子目录。
假设您有以下文件:
\Root\Content\jquery-ui-1.10.3\jquery-ui.css
使用此代码查找并添加它:
.IncludeDirectory("~/Content", "jquery-ui.css", true)
这很有用,因为它总是会找到jquery-ui.css
,无论你把它放在哪里。
此方法的缺点是它会搜索并包含它找到的所有 jquery-ui.css
个文件,如果您不确保只有一个文件,可能会导致一些错误jquery-ui.css
存在。
(请记住,搜索子目录仍将搜索根目录,即〜/ Content)