Ich habe Probleme mit der Bündelung meiner Stylesheets nach der Bereitstellung in IIS. Ich habe eine einfache Lösung erstellt, um mein Problem zu demonstrieren.Stilbündelung funktioniert nach IIS-Bereitstellung nicht (MVC 4)
Ich habe ein einfaches Testprojekt (VS 2012, MVC 4) mit einem einzigen Controller und einer Ansicht erstellt, die einen "Hello World" String enthält.
Ich habe einen (Test) CSS unter dem Inhaltsordner mit einfacher einfacher Farbe erstellt
Content\helloWorldCss\helloWorldStyle.css
Dann ändern, ich habe meine BundleConfig.cs Klasse bearbeitet und hinzugefügt, um den Weg zu meinem CSS als ein neues Bündel:
0: bundles.Add(new StyleBundle("~/Content/helloWorldCss").Include("~/Content/helloWorldCss/helloWorldStyle.css"));
Dann habe ich das neue Bündel zu meinem der _Layout.cshtml hinzugefügt
Wenn ich meine Anwendung über VS (oder Seiteninspektor) ausführen, wird mein CSS erfolgreich angewendet und alles scheint in Ordnung zu sein. Wie auch immer, Wenn ich mein Projekt in IIS (über VS) veröffentliche/stelle, kann ich meinen HTML-Code anzeigen, aber mein CSS wird nicht angewendet. Die folgende Datei existiert nach dem Einsatz:
Content\helloWorldCss\helloWorldStyle.css
Was mir wirklich ein Rätsel ist, dass, wenn ich meine _Layout.cshtml ändern und einen „regulären“ ref auf den gleichen CSS hinzufügen, anstatt das Bündel ref zu verwenden, die CSS angewandt wird nach der Veröffentlichung ohne Probleme.
<link href="@Url.Content("~/Content/helloWorldCss/helloWorldStyle.css")" rel="stylesheet" type="text/css" />*
Ich werde jede Hilfe und Beratung zu diesem Thema zu schätzen wissen.
Sie haben Recht. Das war in der Tat das Problem. Vielen Dank! – Omri
Das '~' Zeichen hier ist die Hauptquelle der Verwirrung. Das Zeichen wird benötigt, um das Bündel zu definieren. Das hat mich glauben lassen, dass es der Ordnerpfad sein muss, der NICHT sein darf. :) Vielen Dank!! Half mir. – mrsrizan