2015-05-28 5 views
10

Hintergrund: ich eine ASP.NETMVC 5 Anwendung an Migration (entwickelt in Windows 8.1, VS2013 Gemeinschaft, .NET 4.5.1, MySql individuelle Mitgliedschaft und Rollenanbieter) Projekt Monodevelop (in Ubuntu 14.4, Monodevelop, Mono).Sheets und Skripte Bündel arbeiten nicht in Mono

In meiner ~/App_Start/BundleConfig Klasse

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-*")); 
    } 

In meiner ~/Views/Shared/_Layout.cshtml Ansicht

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

In meinem Web.Config

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

Auch

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

Auch Microsoft.Web.Infrastructure.dll wird aus dem Verzeichnis bin gelöscht.

Problem: Ich sehe nicht, dass die Bündel gemacht wird, wenn ich Quelle im Browser anzuzeigen:

Die Links auf Verzeichnisse richten, sollten Sie Dateien zeigen in den Verzeichnissen

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

auf Windows Diese Bündelung funktioniert sehr gut, aber auf Ubuntu, ich sehe nur Verzeichnisse

Was mache ich falsch hier?

+3

Debuggen Sie und haben '' oder 'BundleTable.EnableOptimizations = false;'? – rageit

+0

@rageit - Ich bin Debuggen und nicht in der Lage, 'BundleTable.EnableOptimizations' in meinem Projekt zu sehen. Ist es etwas in web.config oder BundleConfig? Wenn ja, wie kann ich es benutzen? – xameeramir

+1

Haben Sie eine 'Microsoft.Web.Infrastructure.dll' in Ihrem' bin' Verzeichnis? Wenn ja, versuchen Sie es zu löschen. Mono hat eine eigene Implementierung, die verwendet wird, wenn diese Datei fehlt. –

Antwort

6

In Ihrem BundleConfig Datei fügen Sie folgendes:

BundleTable.EnableOptimizations = true; 

Dann wechseln Modus freizugeben.

über dieses Thema mich heute den Trick

+0

froh, ich könnte helfen :) –

1

ich kam gerade Dies sollte. Mihai-Tibreas Antwort funktioniert zwar, aber es führt zu inakzeptablen Anforderungen für meine Zwecke.

Wenn immer die Bündelung ermöglicht (BundleTable.EnableOptimizations = true; und/oder im Release-Modus bauen) ist das nicht akzeptabel halten folgende:

In BundleConfig.cs eine Zeile wie diese finden:

"~/Content/site.css" 

dass

ändern
"~/Content/Site.css" 

Beachten Sie, dass der Fall von Dateinamen in mono, ist sehr wichtig, während das nicht wichtig, in den Fenstern ist. Entweder muss Ihr HTML-Code in der Kleinschreibung site.css verwendet werden ODER Ihr Bundle muss mit einem Großbuchstaben beginnen.

Verwandte Themen