【发布时间】:2017-10-16 06:15:48
【问题描述】:
我使用 .net 框架 4.6.1 在 C# 中创建了一个 Asp.Net webforms 网站。 该网站运行良好,但是当我尝试使用 web 优化组件优化 CSS 负载时 我从 css url 请求中得到 404。
请注意,我也有完美运行的 js 包。
在 .aspx 页面中,我在脑海中:
<webopt:BundleReference runat="server" Path="~/stylesheets" />
bundle.config 位于站点结构的根目录中,其内容是:
<?xml version="1.0" encoding="utf-8" ?>
<bundles version="1.2">
<styleBundle path="~/stylesheets">
<include path="~/Bootstrap/css/bootstrap.css" />
<include path="~/css/style.css" />
<include path="~/css/custom.css" />
</styleBundle>
</bundles>
base-site 是 js 包
Global.asax 文件:
void Application_Start(object sender, EventArgs e)
{
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleTable.EnableOptimizations = true;
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
web.config:
<system.web>
<authentication mode="None"/>
<compilation debug="true" targetFramework="4.6.1">
...
<httpRuntime targetFramework="4.6.1"/>
<pages enableEventValidation="true">
<namespaces>
<add namespace="System.Web.Optimization"/>
<add namespace="Microsoft.AspNet.Identity"/>
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
</controls>
</pages>
...
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthentication"/>
<remove name="BundleModule"/>
<add name="BundleModule" type="System.Web.Optimization.BundleModule"/>
</modules>
...
</system.webServer>
我有一个相同的网站,具有相同的 web.config、相同的路由配置和 EnableFriendlyUrls(True),其中正确提供了 CSS 包。
- 它在 VS2017 本地和生产服务器上都不起作用。
- 没有名为“样式表”的文件夹或其他页面
- CSS 文件格式正确
- 我也尝试过使用单个 CSS 文件,但总是得到 404。
- 所有其他页面和 JS 包的路由工作正常
为什么 CSS 包不起作用? 我可以做些什么来了解问题出在哪里?
【问题讨论】:
-
可能与相对/绝对路径问题有关?
-
@ahmet 我已经逐字检查了近一百万次
标签: c# css asp.net optimization webforms