Asp.net-Mvc-4

發佈到天藍色後,與 MVC4 捆綁不起作用

  • July 3, 2018

您好我正在嘗試為我的應用程序捆綁我的腳本。我的調試工作正常,如果我使用 Web.debug 發布,一切正常。但是當我使用 Web.releas 發佈時,我的腳本不會載入。一切都在本地工作,只有當我從 VS2012 發佈到 Azure 時它才會停止。這是我創建捆綁包的方式。

namespace BAT.App_Start
{
 public class BundleConfig
 {
   public static void RegisterBundles(BundleCollection bundles)
   {
       //BundleTable.EnableOptimizations = true;

       bundles.Add(new ScriptBundle("~/Content/MasterCss")
               .Include("~/Content/bootstrap.css")
               .Include("~/Content/bootstrap-responsive.css")
               .Include("~/Content/CSS/site.css"));

       bundles.Add(new ScriptBundle("~/Scripts/MasterScripts")
               .Include("~/Scripts/jquery-{version}.js")
               .Include("~/Scripts/bootstrap.js"));

       bundles.Add(new ScriptBundle("~/Scripts/Validation")
               .Include("~/Scripts/jquery.validate.js")
               .Include("~/Scripts/jquery.validate.unobtrusive.js"));
       }
   }
}

未註釋的行中斷了調試建構

這是我呼叫捆綁包的佈局

@using System.Web.Optimization
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="utf-8" />
   <title>@ViewBag.Title Business Analysis Tool </title>

   @Styles.Render("~/Content/MasterCss")
</head>

<body>
   <div class="container-fluid">
       <div class="row-fluid"> @RenderPage("~/Views/Shared/_Header.cshtml") </div>
       <div class="row-fluid"> @RenderBody() </div>
       <div class="row-fluid"> @RenderPage("~/Views/Shared/_Footer.cshtml") </div>
   </div>
   @Scripts.Render("~/Scripts/MasterScripts")    
   @RenderSection("scriptholder", false)
</body>
</html>

這是我的 Release.Config

<?xml version="1.0"?>
   <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
   <system.web>
       <compilation xdt:Transform="RemoveAttributes(debug)" />
   </system.web>
   </configuration>

這是我在頁面http://bat.azurewebsites.net/Content/MasterCss?v=htASNz4hgFFA40tt0CVZdpwQudN8ZW4429UjRQZQJms1上使用 CTRL+U 檢查捆綁腳本時出現錯誤的連結

這似乎與縮小有關。我已經學習了一些教程並在這裡閱讀了其他文章,但他們的解決方案對我不起作用

小錯誤殺死了我,我將我的 css 捆綁為腳本包而不是樣式包。

我已經做了很多嘗試來解決這個問題,包括設置原始碼控制和建構配置。我的項目從設置為使用 git 到 tfs 和一切。

非常簡單的解決方法:

我有以下內容:

bundles.Add(new StyleBundle("~/Content/css").Include(
                 "~/Content/bootstrap.css",
                 "~/Content/site.css"));

我的解決方案中還有一個文件夾:

/Content/Css

這就是問題所在,stylebundle 與我的解決方案中的文件夾同名。

將樣式包重命名為:

bundles.Add(new StyleBundle("~/scripts/css").Include(
                 "~/Content/bootstrap.css",
                 "~/Content/site.css"));

和(記住)改變你引用它的位置,_Layout.cshmtl

因此,為了清楚起見,如果您的 stylebundle 名稱與解決方案中的實際文件夾相同,那麼您將遇到此問題。只需將其命名為不同的名稱。

引用自:https://stackoverflow.com/questions/16898429