2016-08-09 18 views
1

Ich entwickle in ASP.net mit Master/Content-Seiten. Ich verwende Bundling, indem ich es zur Masterseite hinzufüge. Ich denke ich habe alles richtig eingerichtet; Wenn ich mich jedoch entwickle, kann ich meine Liste der verfügbaren Klassen auf den Inhaltsseiten nicht mehr sehen, wenn ich versuche, HTML einzurichten ... ohne eine Liste von Klassen zu bündeln, die verwendet werden, wenn ich auftauchen würde geh zum klasse = teil; aber beim Bündeln erscheint nichts.asp.net ... Wie kann ich beim Binden noch verfügbare Klassen sehen?

Mein Setup sieht wie folgt aus, in der Master-Seite Ich Referenzierung die Bundles:

<head runat="server"> 
    <meta charset="UTF-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <title><%: Page.Title %> - JCPS DMC</title> 

    <link href="~/favicon.ico" rel="shortcut icon" /> 

    <asp:PlaceHolder ID="PlaceHolder2" runat="server"> 
     <%: Styles.Render("~/bundles/bootstrapCSS", "~/bundles/utilitiesCSS") %> 
     <%: Scripts.Render("~/bundles/utilitiesJs", "~/bundles/modernizr") %> 
    </asp:PlaceHolder> 

    <asp:ContentPlaceHolder ID="contentHeader" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 

Und meine BundleConfig.cs Datei sieht wie folgt aus:

using System.Web.Optimization; 

namespace DMC 
{ 
    public class BundleConfig 
    { 
     // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254726 
     public static void RegisterBundles(BundleCollection bundles) 
     { 
      bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include(
        "~/Scripts/WebForms/WebForms.js", 
        "~/Scripts/WebForms/WebUIValidation.js", 
        "~/Scripts/WebForms/MenuStandards.js", 
        "~/Scripts/WebForms/Focus.js", 
        "~/Scripts/WebForms/GridView.js", 
        "~/Scripts/WebForms/DetailsView.js", 
        "~/Scripts/WebForms/TreeView.js", 
        "~/Scripts/WebForms/WebParts.js")); 

      bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
       "~/Scripts/WebForms/MsAjax/MicrosoftAjax.js", 
       "~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js", 
       "~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js", 
       "~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js")); 

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

      bundles.Add(new ScriptBundle("~/bundles/highCharts").Include(
       "~/Scripts/highcharts/4.2.0/highcharts.js", 
       "~/Scripts/highcharts/4.2.0/highcharts-more.js", 
       "~/Scripts/highcharts/4.2.0/highcharts-3d.js", 
       "~/Scripts/highcharts/4.2.0/modules/broken-axis.js", 
       "~/Scripts/highcharts/4.2.0/modules/data.js", 
       "~/Scripts/highcharts/4.2.0/modules/drilldown.js", 
       "~/Scripts/highcharts/4.2.0/modules/exporting.js", 
       "~/Scripts/highcharts/4.2.0/modules/funnel.js", 
       "~/Scripts/highcharts/4.2.0/modules/heatmap.js", 
       "~/Scripts/highcharts/4.2.0/modules/no-data-to-display.js", 
       "~/Scripts/highcharts/4.2.0/modules/offline-exporting.js", 
       "~/Scripts/highcharts/4.2.0/modules/solid-gauge.js", 
       "~/Scripts/highcharts/4.2.0/modules/treemap.js", 
       "~/Scripts/highcharts/4.2.0/adapters/standalone-framework.js" 
       )); 

      // Use the Development version of Modernizr to develop with and learn from. Then, when you’re 
      // ready for production, use the build tool at http://modernizr.com to pick only the tests you need 
      bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
       "~/Scripts/modernizr-*")); 

      bundles.Add(new StyleBundle("~/bundles/bootstrapCSS").Include(
       "~/Content/bootstrap.css", 
       "~/Content/bootstrap-multiselect.css", 
       "~/Content/bootstrap-navbar.css", 
       "~/Content/bootstrap-overrides.css")); 

      bundles.Add(new StyleBundle("~/bundles/utilitiesCSS").Include(
       "~/Content/print.css", 
       "~/Content/common.css", 
       "~/Content/site.css", 
       "~/Content/colorThemes.css")); 

      BundleTable.EnableOptimizations = false; 
     } 
    } 
} 

Das letzte Zeile in der BundleConfig.cs-Datei, die ich dachte, war der Schlüssel zum Debugging:

BundleTable.EnableOptimizations = false 

Ich dachte, wenn es eingestellt wurde false, es hat die Datei web.config überschrieben und erlaubt Ihnen, Klassennamen zu sehen ... ist das falsch? Vermisse ich etwas anderes?

Antwort

0

Hier ist die Dokumentation für die Eigenschaft: BundleTable.EnableOptimizations Property. Wenn Sie es aktivieren, werden Ihre Skripte/CSS-Dateien gebündelt und minimiert, siehe Bundling and Minification für vollständige Details. Dies ermöglicht schnellere Ladezeiten für Ihre Clients, da weniger über die Leitung übertragen wird (weniger Leerraum, Zeilenumbrüche usw.). Dies erschwert das clientseitige Skript-Debugging, da sich Ihr gesamtes Skript in einer einzelnen Zeile befinden kann und Ihre Variablennamen in Javascript in der Regel ebenfalls gekürzt werden. Es hat nichts mit serverseitigem Code oder web.config zu tun.

+0

Dank für die Bestätigung, würden Sie den zweiten Teil meiner question..why wissen passieren IntelliSense nicht meine Klassennamen besagen, die gebündelt werden? –

0

Nein. Sie verpassen nichts. Laut MSDN können Sie auch,

<system.web> 
    <compilation debug="true" /> 
    <!-- Lines removed for clarity. --> 
</system.web> 

Dokumentation sagt deutlich, dass

Sofern EnableOptimizations wahr ist oder das Debug-Attribut in der Kompilierung Element in der Datei Web.config auf false gesetzt ist, Dateien werden nicht gebündelt oder minimiert.

-Link: http://www.asp.net/mvc/overview/performance/bundling-and-minification

+1

Das selbe für Sie Sir, danke für die Bestätigung, würden Sie zufällig den zweiten Teil meiner Frage wissen ... warum zeigt IntelliSense nicht meine Klassennamen, die gebündelt werden? –

Verwandte Themen