2012-06-12 17 views
6

बनाने का प्रयास करते समय NoTransform काम नहीं कर रहा है, मैं एक उदाहरण का अनुसरण कर रहा हूं और एमवीसी प्रोजेक्ट के लिए कस्टम बंडल बनाते समय "नोट्रांसफॉर्म" काम नहीं कर सकता। यहां मेरा कोड है जो "नोट्रांसफॉर्म" की वजह से संकलित नहीं होगा जो कहता है, "त्रुटि 1 टाइप या नेमस्पेस नाम 'नोट्रांसफॉर्म' नहीं मिला (क्या आप एक निर्देश या एक असेंबली संदर्भ का उपयोग कर रहे हैं?)" । कोई विचार?नया बंडल

using System; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Data.Entity; 
using System.Data.Entity.Infrastructure; 
using System.Linq; 
using System.Web; 
using System.Web.Http; 
using System.Web.WebPages; 
using System.Web.Mvc; 
using System.Web.Optimization; 
using System.Web.Routing; 

namespace CoyleAzure 
{ 


    public class MvcApplication : System.Web.HttpApplication 
    { 
     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 

      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
      RouteConfig.RegisterRoutes(RouteTable.Routes); 


      // Added to Add DisplayModes 


      DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Phone") 
      { 
       ContextCondition = (context => (
       (context.GetOverriddenUserAgent() != null) && 
       (
       (context.GetOverriddenUserAgent().IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) || 
       (context.GetOverriddenUserAgent().IndexOf("iPod", StringComparison.OrdinalIgnoreCase) >= 0) || 
        (context.GetOverriddenUserAgent().IndexOf("Droid", StringComparison.OrdinalIgnoreCase) >= 0) || 
         (context.GetOverriddenUserAgent().IndexOf("Blackberry", StringComparison.OrdinalIgnoreCase) >= 0) || 
          (context.GetOverriddenUserAgent().StartsWith("Blackberry", StringComparison.OrdinalIgnoreCase)) 
      ) 
      )) 
      }); 






      DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Tablet") 
      { 
       ContextCondition = (context => (
        (context.GetOverriddenUserAgent() != null) && 
        (
        (context.GetOverriddenUserAgent().IndexOf("iPad", StringComparison.OrdinalIgnoreCase) >= 0) || 
        (context.GetOverriddenUserAgent().IndexOf("Playbook", StringComparison.OrdinalIgnoreCase) >= 0) || 
         (context.GetOverriddenUserAgent().IndexOf("Transformer", StringComparison.OrdinalIgnoreCase) >= 0) || 
          (context.GetOverriddenUserAgent().IndexOf("Xoom", StringComparison.OrdinalIgnoreCase) >= 0) 
         ) 
         )) 
      }); 







      IBundleTransform jsTransformer; 
      IBundleTransform cssTransformer; 

#if DEBUG 
      jsTransformer = new NoTransform("text/javascript"); 
      cssTransformer = new NoTransform("text/css"); 


#else   
      jsTransformer = new JsMinify();   
      cssTransformer = new CssMinify(); 
#endif 

      var 
      DesktopJSBundle = new Bundle("~/Scripts/DesktopJS", jsTransformer); 

      DesktopJSBundle.Include("~/Scripts/jquery-1.6.4. js"); 
      DesktopJSBundle.Include("~/Scripts/jquery-ui-1.8.11. js"); 
      DesktopJSBundle.Include("~/Scripts/jquery.unobtrusive-ajax.js"); 
      DesktopJSBundle.Include("~/Scripts/jquery.validate.js"); 
      DesktopJSBundle.Include("~/Scripts/jquery.validate.unobtrusive.js"); 

      BundleTable.Bundles.Add(DesktopJSBundle); 

      var DesktopCSSBundle = new Bundle("~/Content/DesktopCSS", cssTransformer); 
      DesktopCSSBundle.Include("~/Content/Site.css"); 
      BundleTable.Bundles.Add(DesktopCSSBundle); 



      var MobileJSBundle = new Bundle("~/Scripts/MobileJS", jsTransformer); 
      MobileJSBundle.Include("~/Scripts/jquery-1.6.4.js"); 
      MobileJSBundle.Include("~/Scripts/jquery.mobile-1.1.0.js"); 
      BundleTable.Bundles.Add(MobileJSBundle); 

      var MobileCSSBundle = new Bundle("~/Content/MobileCSS", cssTransformer); 
      MobileCSSBundle.Include("~/Content/jquery.mobile-1.1.0.css"); 
      MobileCSSBundle.Include("~/Content/jquery.mobile.structure-1.1.0.css"); 
      BundleTable.Bundles.Add(MobileCSSBundle); 
      //BundleTable.Bundles.RegisterTemplateBundles(); 
      BundleTable.Bundles.EnableDefaultBundles(); 
     } 




     //BundleConfig.RegisterBundles(BundleTable.Bundles); 




    } 
} 
+0

जिनमें से संस्करण एएसपीएनटी एमवीसी आरयू का उपयोग कर? – VJAI

उत्तर

1

NoTransform और Scripts, Styles जैसे अन्य तरीकों .. bundling और minification कि MVC 4 बीटा और MVC 4 आर सी संस्करणों में उपलब्ध है की नई विशेषताएं हैं। मुझे आशा है कि आप एएसपी.नेट एमवीसी के उचित संस्करण का उपयोग नहीं कर रहे हैं और इसलिए आपको संकलन त्रुटियां मिल रही हैं।

http://blog.kurtschindler.net/post/disabling-bundling-and-minification-in-aspnet-45mvc-4

+0

http://blog.kurtschindler.net/disabling-bundling-and-minification-in-asp-net-4-5mvc-4/ ब्लॉग – user636525

3

इस कोड MVC 4 बीटा से है (या अधिक सटीक System.Web.Optimization beta1), लेकिन आप शायद MVC 4 आर सी (या अधिक सटीक System.Web.Optimization beta2) के साथ यह संकलन करने की कोशिश कर रहे (अगर एमवीसी 4 बिल्कुल)। एमवीसी 4 आरसी NoTransform में internal है।

+1

ब्लॉग के लिए यह नया यूआरएल है, मुझे पता नहीं लगा कि उन्होंने नोट्रांसफॉर्म क्यों बनाया अंदर का। यह ऑटो रिलीज/डीबग पहचान के लिए वास्तव में उपयोगी होगा। –

7

NoTransform वर्ग नहीं रह गया है क्योंकि आर सी में शुरू होने वाले Bundle पर एक अशक्त Transform वर्ग परोक्ष NoTransform का मतलब सार्वजनिक होना चाहिए।

से पहले:

new Bundle("~/yourbundle", new NoTransform()) 

अब:

new Bundle("~/yourbundle") 

हमें लगा यह क्लीनर था एक डमी उदाहरण की आवश्यकता नहीं है। हमने इसे आंतरिक रखा क्योंकि इसमें तर्क का एक छोटा सा हिस्सा है जो संभावित रूप से कुछ परेशानी का कारण बनता है, क्योंकि ट्रांसफॉर्म सामग्री को सेट करने के लिए ज़िम्मेदार है प्रतिक्रिया के लिए टाइप करें। डिफ़ॉल्ट तर्क आपके बंडल (.js/.css) में पहली फ़ाइल के फ़ाइल एक्सटेंशन का उपयोग करता है।

स्क्रिप्ट/स्टाइल रेंडर हेल्पर्स के अतिरिक्त, आपको अब डीबग = सत्य | झूठी के आधार पर विभिन्न परिवर्तनों के बीच गतिशील रूप से स्विच करने की आवश्यकता नहीं है। सहायकों को आपके लिए इसका ख्याल रखना चाहिए।

+0

मैं केवल एक पैरा के साथ नया बंडल() कॉल नहीं कर सकता। क्या इसके लिए कोई नया समाधान है? – Lucas

+1

क्या आपके पास नवीनतम संस्करण है? http://nuget.org/packages/Microsoft.AspNet.Web.Optimization –

+0

मैंने सोचा कि मेरे पास नवीनतम था, लेकिन मैं Microsoft.Web.Optimization का उपयोग कर रहा था। स्पष्टीकरण – Lucas

7

नहीं इस के लिए एक सीधा जवाब लेकिन सिर्फ किसी को जो furture में यह भर आता है करने के लिए इसे बाहर बात करने के लिए ... यह config के माध्यम से किया जा सकता है और साथ ही, (देखें https://stackoverflow.com/a/12605451/6486)

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

के लिए धन्यवाद यह मेरे लिए काम करता है। – gingerbreadboy

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