2017-10-13 51 views
1

我在C#中使用.net框架4.6.1製作了一個Asp.Net webforms網站。 該網站工作完美,但當我嘗試使用weboptimization組件優化CSS負載時,我從css url請求獲得404。weboptimization CSS找不到(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

其中鹼基位點是代替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捆綁不起作用? 有什麼我可以做的,以瞭解問題在哪裏?

+0

它可能與相對/絕對路徑問題有關嗎? – ahmet

+0

@ahmet我已經檢查了近一百萬次的字母 – Giox

回答

0

經過多次測試後,我發現每次我在css bundle.config文件中進行更改時,都必須關閉並重新啓動Visual Studio。 重新啓動IIS Express是不夠的。

在生產服務器上,我必須停止並重新啓動網站,回收應用程序池。

+0

,我可以說應用程序池和網站的重新啓動並不總是有效......(我的瀏覽器上的緩存被禁用,所以我沒有緩存束) – Giox