我最近开始研究一个大型的ASP.NET WebForms项目。
该项目使用App_Themes
目录,其中包含大量无组织的CSS和图像资源。
我发现无论我是否想要它,主题目录中的每个CSS文件都会被加载,并且它们都按字母顺序加载。
我显然希望对CSS和前端资源有更多的控制和灵活性,我将它们全部移到一个单独的目录中,然后删除整个App_Themes
文件夹。
这似乎只是移动资源的一个简单问题,但在部署到我们的生产服务器之后,系统很快变得不稳定,并且应用程序池一再崩溃。
恢复App_Themes
目录使系统再次稳定,但这对我没有意义。 App_Themes
文件夹,以及它可能具有的任何可能的依赖关系,看起来像一个奇怪的黑盒子,我无法弄清楚,似乎无法离开。
答案 0 :(得分:3)
App_Themes
是ASP.Net中的“特殊目录”之一。虽然它可能不是必需的(默认情况下你现在不会看到它们),但它们可能在配置(web.config
),任何皮肤控件,页面等中引用 - 也许这就是应用程序正在进行的原因删除文件夹后不稳定(打破了对它的所有引用)。
检查此类引用 - 您可以(重新)从定义的主题移动css文件,这样您就可以从空白的平板开始,如果这是您想要的。除非您可以在应用程序中找到并删除所有对主题用法的引用,否则请避免修改目录结构。
App_Themes可以很强大。只需在web.config中进行一次更改
,即可轻松更改整个网站的外观(也称为“主题”)<system.web>
<!-- chage this value to "fall" in the Fall -->
<pages theme="Summer" />
</system.web>
上面的“夏季”主题设置映射到App_Themes
中的“Summer”子文件夹,其中包含Summer主题的样式表/皮肤。如果您有“Fall”主题,那么它将映射到App_Themes
...
HTH