MVC4捆绑IncludeDirectory - 文件路径错误

时间:2013-10-17 19:32:37

标签: asp.net asp.net-mvc-4 bundler

我在向现有项目添加捆绑时遇到问题。问题是渲染到页面时的输出路径。我包含遍历它们的子文件夹的目录,寻找像这样的* .js:

BundleTable.Bundles.Add(
    new ScriptBundle("~/ui/js")
        .IncludeDirectory("~/ui/lib/", "*.js", true)
        .IncludeDirectory("~/ui/class/", "*.js", true)
        .IncludeDirectory("~/ui/modules/", "*.js", true)
);

例如,在/ ui / lib / I下有库的子文件夹,但输出到浏览器的是src =“/ ui / lib / file.js”,它应该是/ ui / lib /文件夹/ file.js

我不确定我哪里出错了,我有一个项目使用与上面相同的代码,但可以正常渲染正确的文件路径。

它可能是相关的,但是当我切换到发布模式并且事情变得连续/缩小时,动态路径也会呈现404页面。

非常感谢任何帮助/想法。

1 个答案:

答案 0 :(得分:6)

我认为如果你检查你的装配参考,你会看到你正在使用

Microsoft.AspNet.Web.Optimization version 1.1.1

如果是,请将其卸载并在nuget GUI中选择“仅稳定”而不是“包含预发布”并重新安装。应该是版本1.1.0。

当你降级时,请告诉我这个问题是否会消失。

感谢。

更新:

解决方案是转到1.1.0,因为1.1.1在这方面存在问题。请注意,1.1.1现已稳定下来(截至2013年10月10日)。您需要卸载该软件包并从Nuget命令行运行以下命令:

Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.0