gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 4 包在文件夹路径中带有通配符

转载 作者:行者123 更新时间:2023-12-04 08:10:19 24 4
gpt4 key购买 nike

我的团队使用自定义 NuGet 包来安装 jQuery UI,它将主题文件放入这样的目录结构中:

  • 内容
  • jquery-ui-1.10.3
  • 图片
  • jquery-ui.css
  • jquery-ui.min.css

  • 我正在尝试使用 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" ) );

    这也不起作用(显然)。我可以在文件夹上明确指定版本,但这会破坏使用 bundle 的部分好处。

    那么如何在文件夹路径中使用通配符呢?

    最佳答案

    您可以使用 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)

    关于asp.net-mvc - ASP.NET MVC 4 包在文件夹路径中带有通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18368493/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com