Die Anwendung "ASP.NET MVC4 Bootstrap 3" wird von Microsoft Visual Studio Express 2013 für Web IDE ausgeführt.
Chrome-Konsole zeigt immer Fehler
http://localhost:52216/admin/fonts/glyphicons-halflings-regular.woff2
Failed to load resource: the server responded with a status of 404 (Not Found)
Diese Datei befindet sich im Schriftartenverzeichnis im Projektmappen-Explorer. Die Build-Aktion ist auf "Content" gesetzt und das Copy to Output-Verzeichnis lautet "Nicht wie in anderen Schriftdateien kopieren" . Bootstrap 3 wird mit NuGet ..__ zur Lösung hinzugefügt tritt nicht auf? Die Anwendung zeigt die Symbole von Glyphicon und FontAwesome richtig an. Dieser Fehler tritt immer beim Start der Anwendung auf.
Dieses Problem tritt auf, weil IIS woff
und .__ nicht kennt. woff2
Dateimime-Typen.
Lösung 1:
Fügen Sie diese Zeilen in Ihr web.config-Projekt ein:
<system.webServer>
...
</modules>
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
Lösung 2:
Auf der IIS -Projektseite:
Schritt 1: Gehen Sie zur Startseite Ihres Projekts IIS und doppelklicken Sie auf die Schaltfläche MIME Types
:
Schritt 2: Klicken Sie im Menü Add
auf die Schaltfläche Actions
:
Schritt 3: In der Mitte des Bildschirms wird ein Fenster angezeigt. In diesem Fenster müssen Sie die beiden Zeilen von Lösung 1 hinzufügen:
In meinem Fall habe ich die fehlende Datei direkt hier heruntergeladen: https://github.com/twbs/bootstrap/blob/master/dist/fonts/glyphicons-halflings-regular.woff2
Ich habe alle oben genannten Vorschläge ausprobiert, aber mein eigentliches Problem bestand darin, dass meine Anwendung nach dem Ordner/font und dessen Inhalt (.woff usw.) in app/fonts suchte. Mein/fonts-Ordner lag jedoch auf derselben Ebene wie/app. Ich habe/fonts unter/app verschoben, und jetzt funktioniert es gut. Ich hoffe, das hilft jemandem, der im Internet nach Antworten sucht.
Fügen Sie diese zu Ihrer HTML-Datei hinzu, wenn Sie nur Zugriff auf die HTML-Datei haben:
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
Dieses Problem tritt auf, weil IIS den tatsächlichen Speicherort der MIME-Dateitypen von woff2 nicht findet. Stellen Sie die URL von font-face richtig ein und behalten Sie auch die Schriftfamilie bei, wie unten gezeigt.
@font-face {
font-family: 'glyphicons-halflings-regular';
src: url('../../../fonts/glyphicons-halflings-regular.woff2') format('woff2');}
Für mich war das Problem zweifach: Erstens wusste die Version von IIS, mit der ich es zu tun hatte, nichts über den .woff2
-MIME-Typ, nur über .woff
. Ich habe das Problem mit dem IIS Manager auf Serverebene und nicht auf Web-App-Ebene behoben, sodass die Einstellung bei jeder neuen App-Bereitstellung nicht überschrieben wurde. (Unter IIS Manager ging ich zu MIME-Typen, fügte den fehlenden .woff2
hinzu und aktualisierte .woff
.)
Zweitens und vor allem bündelte ich bootstrap.css
zusammen mit einigen anderen Dateien als "~/bundles/css/site"
. Inzwischen waren meine Fontdateien in "~/fonts"
. bootstrap.css
sucht in "../fonts"
nach den Glyphicon-Schriftarten, die in "~/bundles/fonts"
- falscher Pfad übersetzt wurden.
Mit anderen Worten, mein Bundle-Pfad war ein Verzeichnis zu tief. Ich habe es in "~/bundles/siteCss"
umbenannt und alle Verweise darauf, die ich in meinem Projekt gefunden habe, aktualisiert. Nun suchte Bootstrap in "~/fonts"
nach den Glyphicon-Dateien, die funktionierten. Problem gelöst.
Bevor ich das zweite Problem behoben habe, wurden none der glyphicon
-Schriftdateien geladen. Das Symptom war, dass alle Instanzen von glyphicon
-Glyphen im Projekt nur eine leere Box zeigten. Dieses Symptom trat jedoch nur in den bereitgestellten Versionen der Web-App auf, nicht auf meinem Entwicklungscomputer. Ich bin immer noch nicht sicher, warum das so war.