ScriptBundle不渲染VirtualDirectory中的脚本

时间:2012-07-26 22:30:17

标签: asp.net-mvc-4

我有一个模块化的asp.net应用程序,其中模块部署在主.net Web应用程序下的虚拟目录中。我们有一个共同的模块,有很多东西。我试图将每个客户特定项目中的所有常见脚本文件移动到一个公共模块中。

如果我创建一个引用根级别文件的脚本包,它会将脚本标记呈现为html。但它不会为指向子虚拟目录中的文件的包提供脚本标记。

例如:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/App_Modules/Common/Scripts/jquery-1.*"));

不再呈现任何脚本标记,现在我在客户端获得jquery错误。我查看了生成的html,现在没有更多的脚本标记来下载jquery库。

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。根本原因是我在捆绑包中只包含了缩小的脚本。一旦我在脚本目录中放置了未压缩的脚本,它就会正确地呈现它们。

答案 1 :(得分:1)

不幸的是,捆绑还不支持VirtualPathProviders,因此如果您的虚拟路径依赖VPP来提供资源,捆绑将无法找到它们。这是我们目前正在调查的情景,希望很快就能得到支持。