gpt4 book ai didi

c# - 找不到 MVC 包虚拟路径

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:12 25 4
gpt4 key购买 nike

我看过很多关于这个的问答;但似乎没有一个答案给我指明方向。

当我将虚拟路径指定为物理文件的地址时,以下代码工作正常:

bundles.Add(new Bundle("~/Modules/SIRVA.Connect.Intake.SAP/Content/style.css") 
.Include("~/Modules/Intake/Content/Style.css"));

但是,如果我指定一个文件系统中不存在的虚拟路径(像这样...):

bundles.Add(new Bundle("~/content/intake.css")
.Include("~/Modules/Intake/Content/Style.css"));

... MVC 将呈现样式,但是当您单击它显示的 href 时,“找不到页面”并且样式不起作用(因为它们不存在)。

<link href="/content/intake.css" rel="stylesheet"/>

MVC 自己的示例似乎指向一个不存在的物理位置作为虚拟路径,但当他们这样做时它工作正常!

bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"
));

谁能告诉我为什么必须将 Bundle() 构造函数的虚拟路径设置为物理文件位置?

最佳答案

路径不应是物理文件位置。您可以尝试指定一个目录而不是特定的文件类型吗?像这样(使用 StyleBundle 因为我知道你想要创建一个 css 包):

bundles.Add(new StyleBundle("~/bundles/css")
.Include("~/Modules/Intake/Content/Style.css"));

这将允许应用程序在生产环境中出于版本控制目的在生产环境中生成查询字符串(如果您的 bundle 已启用最小化和压缩)。

<link rel="stylesheet" href="/bundles/css?v=f-rOZpG8nqcdBI9IS1kiTRlij7Eim7N9U1_RJYwd4_w1"></link>

我相信使用 bundle 中文件的物理路径以有限的方式工作,就像它不允许您在那里添加更多内容,因为它已经在使用中。我还没有真正以这种方式使用它,所以我不知道确切的结果是什么。

编辑(以防万一):

您还需要在您的 View 中正确呈现它。这是一个示例(razor View ):

@Styles.Render("~/bundles/css")

关于c# - 找不到 MVC 包虚拟路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871341/

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