2012-06-09 4 views
5

Używam pakietów w MVC, aby spakować wszystkie skrypty i CSS razem, co jest wspaniałe, ale ... Czy istnieje sposób na włączenie skryptu lub css z zasobów we współdzielonym biblioteka projektów w pakiecie, czy ktoś wie o czymś podobnym do pakietów, które mogą to zrobić?Skrypt i CSS z zasobów w złożeniach dla MVC

+2

Cześć, tam. Czy masz na to rozwiązanie? – Captain0

Odpowiedz

1

będę prawdopodobnie rozpocznie się pisaniu niestandardowy pakiet przekształcić klasę czytać zasoby potrzebne i powrót ich treść i rodzaj zawartości:

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; 
    } 
} 

do użytku produkcyjnego prawdopodobnie chcesz uczynić klasa ResourceTransform trochę mniej na sztywno i wyślij zasoby, które chcesz, jako parametry lub właściwości, ale masz pomysł.

W ten sposób można dodać ten pakiet do swojej kolekcji:

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

bundles.Add(resources); 
Powiązane problemy