我即将进入 VS2008 / Framework 3.5 中的 Asp.Net MVC 1.0 项目的最后阶段,并尝试进行一些性能优化。在我的项目中,我使用了几个不同的“主题”,具体取决于登录用户的角色。我的主题文件夹结构是这样的......
\Themes
\Theme1
\Css
\Folder1
\CssFile1.css
\CssFile2.css
\Folder2
\CssFile1.css
\CssFile2.css
\Images
<Images go here>
\Theme2
\Css
\Folder1
\CssFile1.css
\CssFile2.css
\Folder2
\CssFile1.css
\CssFile2.css
\Images
<Images go here>
随着新客户的加入,新主题将添加到此文件夹结构中。
我正在使用雅虎!UI 库:用于 .Net 的 YUI Compressor(非常酷),用于缩小和合并我的 css(和 js)文件。
我按照http://yuicompressor.codeplex.com/wikipage?title=Sample%20MSBuild.xml%20File&ProjectName=yuicompressor上的示例通过构建后事件运行 MSBuild 脚本来执行缩小/合并任务。
一切都很好,除了当我<CssFiles Include="..\Themes\**\*.css" />
在我的 ItemGroup 中使用类似的东西来指定从哪里获取 css 文件时,来自每个主题的所有 css 文件都被合并到一个文件中,就像这样......
\Themes
\SylesSheetFinal.css
我想要的是只合并主题下的 css,为每个创建一个 css 文件......
\Themes
\Theme1
\StyleSheetFinal1.css
\Theme2
\StyleSheetFinal2.css
我对 MSBuild 真的很陌生。有谁知道我如何修改示例以自动遍历每个主题文件夹并为每个主题文件夹创建一个缩小/合并的样式表?主题可以经常添加或删除,因此我不想手动将每个主题路径包含到我的 ItemGroup 中。相反,我希望 MSBuild 脚本自动遍历主题根目录下的子文件夹,而不考虑文件夹的数量。
谢谢!