2013-10-17 90 views
4

我在添加绑定到现有项目时遇到问题。问题是渲染到页面时的输出路径。我包括子文件夹目录遍历他们寻找* .js文件,像这样:MVC4 Bundling IncludeDirectory - 文件路径错误

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

因此,例如,在/ UI/lib中/我对库子文件夹,但是什么被输出到浏览器为src =“/ui/lib/file.js”应该是/ui/lib/folder/file.js

我不知道我要去哪里错了,我有一个项目使用相同的代码如上所述,但对于呈现正确的文件路径工作良好。

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

希望任何帮助/想法。

回答

6

我认为,如果你检查你的程序集的引用,你会看到你正在使用

Microsoft.AspNet.Web.Optimization version 1.1.1 

如果是的话,将其卸载,并选择的NuGet GUI而不是“包括租赁前的”,“稳定的唯一”并重新安装。应该是版本1.1.0。

让我知道降级时问题是否消失。

谢谢。

UPDATE:

解决的办法是去1.1.01.1.1在这方面的问题。请注意,1.1.1现在已稳定(截至2013年10月10日)。您将需要卸载该程序包,并从的NuGet命令行运行以下命令:

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

+1

真棒人!我确实需要1.1.0 - 但我遇到了一个小问题。看来1.1.1现在被标记为稳定!所以它是默认安装的那个。我必须卸载它,并使用以下命令从命令行安装1.1.0:'Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.0' - 您的答案帮助我到达了那里,谢谢!你能否通过可用于安装1.1.0的命令来更新你的答案,以说明1.1.1的稳定性? – David

+0

很高兴我指出你在正确的方向。 :) – JayPrime2012

+0

这也是MVC 5中的一个问题 - http://aspnetoptimization.codeplex.com/workitem/105 – santos