未找到weboptimization css bundle(404)

时间:2017-10-13 17:44:35

标签: c# css asp.net optimization webforms

我使用.net框架4.6.1在C#中创建了一个Asp.Net webforms网站。 该网站运行良好,但当我尝试使用weboptimization组件优化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>

检查网络请求我看到了样式表的请求 enter image description here

enter image description here

其中base-site是js bundle

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和生产服务器上都不起作用。
  • 没有名为&#34; stylesheets&#34;
  • 的文件夹或其他页面
  • CSS文件格式正确
  • 我也试过一个CSS文件,但我总是得到404。
  • 所有其他页面和JS包的路由工作正常

为什么CSS捆绑不起作用? 我能做些什么来了解问题在哪里?

1 个答案:

答案 0 :(得分:0)

经过多次测试,我发现每次在css bundle.config文件中进行更改时,我都必须关闭并重新启动Visual Studio。 重新启动IIS Express是不够的。

在生产服务器上,我必须停止并重新启动网站,回收应用程序池。