2013-05-16 4 views
5

मैं अपने वेब फॉर्म एप्लिकेशन में अपने सीएसएस और स्क्रिप्ट्स को बंडल करने के बारे में एक अचार पर हूं। http://blogs.msdn.com/b/rickandy/archive/2012/08/14/adding-bundling-and-minification-to-web-forms.aspxवेब फॉर्म एप्लिकेशन में सीएसएस और स्क्रिप्ट्स को बंडल करना

मैं कक्षा BundleConfig कि इस तरह दिखता है App_Start में पहले से ही है:

सबसे पहले, मैं कहना है कि मैं इस ट्यूटोरियल पीछा कर रहा था चाहते हैं

using System.Web; 
using System.Web.Optimization; 

namespace SitePessoal.Web 
{ 
    public class BundleConfig 
    { 
     public static void RegisterBundles(BundleCollection bundles) 
     { 
      bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
         "~/Scripts/jquery/core/jquery-{version}.js")); 

      bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
         "~/Scripts/jquery/core/jquery-ui-{version}.js")); 

      bundles.Add(new StyleBundle("~/CSS/css").Include(
         "~/CSS/Estilos.css", 
         "~/CSS/Print.css", 
         "~/CSS/Styles.css")); 
     } 
    } 
} 

इसके अलावा, मैंने न्यूजेट के साथ ऑप्टिमाइज़ेशन पैकेज डाउनलोड किया है, इसलिए बाद में मैं अपनी ग्लोबल.एक्सएक्स फ़ाइल में गया और इसे एप्लिकेशन_स्टार्ट विधि में पंजीकृत करने की कोशिश की:

void Application_Start(object sender, EventArgs e) 
{ 
    // Code that runs on application startup 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
    BundleTable.EnableOptimizations = true; 
} 

दुर्भाग्यवश, यह वह जगह है जहां चीजें काम नहीं करती हैं। दुर्भाग्य से, यह लाल रंग के साथ वर्ग को रेखांकित और मुझे निम्न संदेश दे रही रखता है: ऐसा क्यों हो रहा हो सकता है के रूप में

Error 3 The name 'BundleTable' does not exist in the current context 
Error 4 The name 'BundleTable' does not exist in the current context 
Error 2 The name 'BundleConfig' does not exist in the current context 

कोई भी विचार? अग्रिम में धन्यवाद!

सादर,
पागल

उत्तर

4

मैंने उसी ट्यूटोरियल के बाद @MadGatsu की समस्या का समाधान किया।

@Pricey सही है, और% MadGatsu सही ढंग से, Global.asax, सहित के लिए संदर्भ कहते हैं

<%@ Import Namespace="System.Web.Optimization" %> 
<script RunAt="server">   
    void Application_Start(object sender, EventArgs e) 
    { 
      BundleConfig.RegisterBundles(BundleTable.Bundles); 

लेकिन वहाँ एक छोटे से यह करने के लिए अधिक है।

मैं अनुमान, Global.asax.cs की कमी के आधार पर हम वेबसाइटें है। इस मामले में, हमें हमारे Bundleconfig.cs विशेष एस्पनेट फ़ोल्डर, App_Code में फ़ाइल डालना होगा। ऐप_स्टार्ट फ़ोल्डर को फ़ाइल में शामिल न करें क्योंकि यह काम नहीं करेगा। सीधे शब्दों में App_Startसे App_Codeकरने के लिए अपने BundleConfig.cs चलती सुधारा 'BundleConfig' वर्तमान संदर्भ त्रुटि में मौजूद नहीं है।

+0

उस समाधान का प्रयास करेगा और मैं जल्द ही जवाब दूंगा। चीयर्स! :) – MadGatsu

+0

वास्तव में आपके समाधान ने "बंडल कॉन्फिग" के बारे में त्रुटि संदेश के साथ समस्या को ठीक कर दिया है जो वर्तमान संदर्भ में मौजूद नहीं है! समाधान के रूप में चिह्नित। धन्यवाद! :) – MadGatsu

2

तुम शायद यह पहले से ही तय हो गई लेकिन सिर्फ मामले में यह किसी को भी उपयोग की है .. आप शायद अपने Global.asax.cs

को System.Web.Optimization के लिए एक संदर्भ और अपने BundleConfig वर्ग नाम स्थान SitePessoal.Web जोड़ने की जरूरत

उदाहरण:

using System.Web.Optimization; 
using SitePessoal.Web; 

namespace SitePessoal.Web.Application 
{ 
    public class Global : HttpApplication 
    { 
     private void Application_Start(object sender, EventArgs e) 
     { 
       BundleConfig.RegisterBundles(BundleTable.Bundles); 
       BundleTable.EnableOptimizations = true; 
     } 
    } 
} 

आप शायद भी 012 जोड़ने की जरूरतअपने web.config में अपने पृष्ठों के लिए नामस्थान यदि आपने इसे पहले से नहीं किया है, क्योंकि NuGet के माध्यम से Microsoft.AspNet.Web.Optimization पैकेज के संदर्भ को जोड़ने के लिए पर्याप्त नहीं है।

<pages> 
    <namespaces> 
     <add namespace="System.Web.Optimization"/> 
    </namespaces> 
</pages> 
+0

हाय प्राइस, एक संभावित उत्तर देने के लिए धन्यवाद। असल में, यह विषय अभी भी खुला था क्योंकि मैंने इसे अभी तक हल नहीं किया था।मैं आपके समाधान का प्रयास करूंगा और जितनी जल्दी हो सके प्रतिक्रिया दे सकता हूं (उर्फ कल!)। परिणाम के बावजूद बहुत धन्यवाद। – MadGatsu

+0

हाय प्राइस, मुझे अब तक इसका परीक्षण करने का समय नहीं मिला है। काम पर बहुत व्यस्त मैंने आपके समाधान की कोशिश की, लेकिन यह अभी भी काम नहीं करता है। मेरे पास एक वेब साइट है, वेब अनुप्रयोग नहीं, इसलिए मेरे पास Globa.asax.cs क्लास फ़ाइल नहीं है। इसके बजाय, मैं Global.asax को जोड़ा गया यह: <% @ आयात नामस्थान = "System.Web.Optimization"%> <% @ आयात नामस्थान = "SitePessoal.Web"%> लेकिन यह मुझे त्रुटि पता चलता है कि इस संदर्भ में BundleConfig मौजूद नहीं है। Web.config फ़ाइल में सबकुछ ठीक है और सिस्टम। ऑप्टिमाइज़ेशन पहले से ही है। कोई और विचार? धन्यवाद @ प्रेसी। – MadGatsu

संबंधित मुद्दे