使用Visual Studio Express 2013 for Web
设置捆绑和缓存,如下所述:http://www.asp.net/mvc/overview/performance/bundling-and-minification
在VS解决方案资源管理器中,.js和.css文件的各个文件属性设置为“构建操作:内容”。我不知道这是专门设置还是默认设置。
在调试模式下部署时,单个文件将按预期部署到目标服务器的目录结构中,并且index.aspx头部分中的呈现代码具有针对配置的每个单独javascript和css文件的长列表,同样如预期。加载后,我可以看到文件正在单独加载。一切正常。
但是,在发布模式下部署时,单个文件仍会部署到目标服务器的目录结构,非捆绑和非缩小。 Index.aspx DOES反映了对每个捆绑“文件”的渲染引用。加载后,我可以看到通过捆绑包加载的东西。
在发布模式下,部署到目标服务器目录结构的各个文件似乎是多余的,当然也不需要。但是,如果我在部署后删除它们,我会收到参考错误。同样,如果我更改每个文件的构建操作:内容构建操作的文件属性:无,上述单个文件不会在发布模式或调试模式下部署,并且我在两种情况下都会出现参考错误。
问题1:我是否误解了捆绑和缩小是如何工作的,并且在发布模式中确实需要这些单独的非捆绑,非缩小文件?
问题2:如果我正确理解在发布模式下不需要这些非捆绑的非缩小文件,我该如何正确配置部署,使它们在调试模式下部署,而不是在发布模式下部署AND我没有参考错误?
答案 0 :(得分:0)
答案1:捆绑和缩小是在运行时完成的,而不是在构建,编译或部署时完成的。下载的“捆绑”是一个虚拟文件,它实际上并不存在于磁盘上的任何位置。因此需要原始的“源”文件。
答案2:抱歉,但您的理解不正确。在发布模式下需要非捆绑/缩小文件,因为它们构成了创建发送到客户端的捆绑/缩小有效负载的基础。