2015-05-28 15 views
10

Background: sto migrando un ASP.NETMVC 5 applicazione (sviluppata in Windows 8.1, VS2013 Comunità, .NET 4.5.1, l'appartenenza MySql costume e provider di ruoli) progetto per Monodevelop (in Ubuntu 14.4, Monodevelop, Mono).fogli di stile e script non fasci di lavoro in Mono

Nella mia classe ~/App_Start/BundleConfig

public static void RegisterBundles(BundleCollection bundles) 
    { 
     BundleTable.EnableOptimizations = true; 

    bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/bootstrap.css", 
        "~/Content/site.css")); 

     bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
        "~/Scripts/modernizr-*")); 
    } 

A mio ~/Views/Shared/_Layout.cshtml vista

@Styles.Render("~/Content/css") 
@Scripts.Render("~/bundles/modernizr") 

Nel mio Web.Config

<add namespace="System.Web.Optimization" /> 

anche

<compilation defaultLanguage="C#" debug="false"> </compilation> 

Anche Microsoft.Web.Infrastructure.dll viene eliminato dalla directory bin.

Problema: non vedo che i fasci sono sempre resi quando ho vista sorgente nel browser:

I collegamenti stanno dirigendo verso le directory, dovrebbe mostrare i file nelle directory

<link href="/Content/css" rel="stylesheet"/> 
<script src="/bundles/modernizr"></script> 

Questo raggruppamento sta lavorando molto bene su Windows, ma su Ubuntu, vedo solo le directory

che cosa sto facendo male qui?

+3

Si sta eseguendo il debug e si ha '' o 'BundleTable.EnableOptimizations = false;'? – rageit

+0

@rageit - Sto eseguendo il debug e non riesco a vedere 'BundleTable.EnableOptimizations' nel mio progetto. È qualcosa in web.config o BundleConfig? Se sì, come posso usarlo? – xameeramir

+1

Avete un 'Microsoft.Web.Infrastructure.dll' nella vostra directory' bin'? Se è così, prova a eliminarlo. Mono ha la sua implementazione che userà se questo file manca. –

risposta

6

All'interno della vostra BundleConfig del file aggiungere la seguente:

BundleTable.EnableOptimizations = true; 

poi passare alla modalità di rilascio.

Questo dovrebbe fare il trucco

+0

felice di poter aiutare :) –

1

Ho appena imbattuto in questo problema io stesso oggi. La risposta di Mihai-Tibrea funziona davvero, ma porta a requisiti inaccettabili per i miei scopi.

Se sempre consentendo bundling (BundleTable.EnableOptimizations = true; e/o costruire in modalità di rilascio) non è accettabile considerare quanto segue:

In BundleConfig.cs trovare una linea come questa:

"~/Content/site.css" 

Cambiamento che per

"~/Content/Site.css" 

si noti che in mono, il caso di nomi di file è molto importante, mentre questo non è importante in finestre. Quindi, il tuo html deve utilizzare la versione minuscola site.css OPPURE il tuo bundle deve iniziare con una lettera maiuscola.

Problemi correlati