2012-06-09 12 views
5

के लिए असेंबली में संसाधनों से बंडल स्क्रिप्ट और सीएसएस मैं सभी स्क्रिप्ट और सीएसएस को एक साथ पैक करने के लिए एमवीसी में बंडल का उपयोग कर रहा हूं जो कि बहुत अच्छा है .... क्या साझा में संसाधनों से स्क्रिप्ट या सीएसएस शामिल करने का कोई तरीका है एक बंडल में प्रोजेक्ट लाइब्रेरी, या क्या किसी को बंडलों के समान कुछ पता है जो यह कर सकता है?एमवीसी

+2

हाय, वहाँ। क्या आपको इसके लिए समाधान मिला? – Captain0

उत्तर

1

मैं शायद बाहर एक कस्टम बंडल वर्ग को बदलने और आपके लिए आवश्यक संसाधनों को पढ़ने के लिए उनकी सामग्री और सामग्री प्रकार वापसी लेखन शुरू होगा:

public class ResourceTransform : IBundleTransform 
{ 
    public void Process(BundleContext context, BundleResponse response) 
    { 
     string result; 

     using (Stream stream = Assembly.GetExecutingAssembly() 
      .GetManifestResourceStream("YourAssemblyNamespace.YourResourceFolder.YourFile.css")) 
     { 
      using (StreamReader reader = new StreamReader(stream)) 
      { 
       result = reader.ReadToEnd(); 
      } 
     } 

     response.ContentType = "text/css"; 
     response.Content = result; 
    } 
} 

उत्पादन उपयोग के लिए आप शायद ResourceTransform वर्ग एक छोटा सा बनाना चाहते कम हार्डकोडेड और संसाधनों को आप पैराम या गुणों के रूप में भेजना चाहते हैं, लेकिन आपको विचार मिलता है।

इस तरह आप अपने संग्रह करने के लिए इस समूह को जोड़ सकते:

Bundle resources = new Bundle("~/css/resources"); 
    resources.Transforms.Add(new ResourceTransform()); 
    resources.Transforms.Add(new CssMinify()); 

bundles.Add(resources);