2012-11-15 5 views
16

Ich habe eine MVC 4-Anwendung mit der Schriftart .otf im Ordner/images. Es ist auf meinem Desktop funktioniert, aber wenn ich, dass ich eine 404 azur bereitstellen zu erhalten, wenn /images/myfont.otf.OTF-Schriftart, die nicht in Azure bereitgestellt wird

Die Schrift hat bereits die Action Eigenschaft auf ‚Inhalt‘

Wie zuzugreifen versuchen, kann ich zwingen Azure, das aufzuheben?

+1

Sie können feststellen, ob die Datei kopiert wird, indem Sie die ** cspkg ** -Datei extrahieren (diese wird in Azure hochgeladen). Sie finden sie unter 'X: \ Solution \ AzureProject \ bin \ ConfigName \ app.publish \ AzureProject.cspkg' Sie müssen Ihr ASP.NET-Projekt extrahieren und dann den Inhaltordner unter sitesroot überprüfen. –

Antwort

2

HTTP-Fehler 404 bedeutet, dass der Inhalt nicht auf dem Server gefunden wird. Wenn Sie Ihre Anwendung in Windows Azure bereitstellen, ist der Inhalt jedoch nicht im Paket enthalten.

Wie Sie oben vorgeschlagen haben, dass Sie .OTF als Inhalt festlegen, bedeutet dies, dass Sie den Compiler bitten, es als statische Datei zu behandeln und es nicht zu erstellen, jedoch wird keine bestimmte Datei in den endgültigen Ausgabeordner kopiert der Teil des endgültigen CSPKG. Sie müssen "Copy to output directory" als "copy always" festlegen, damit es Teil von CSPKG und im Azure Cloud-Dienst bereitgestellt werden kann.

Sobald Sie die Dateieigenschaften korrekt festgelegt und Ihre Anwendung erstellt haben, können Sie manuell Ihren Ausgabeordner aufrufen, um zu überprüfen, ob die Datei vorhanden ist, sowie Ihren CSPKG, indem Sie ihn einfach entpacken.

enter image description here

+2

Dies ist wahrscheinlich nicht das Problem. Eine Schriftartdatei unterscheidet sich nicht von einem Bild, und Sie müssen nie eine Eigenschaft für diese ändern. Siehe meine Antwort für eine wahrscheinliche Ursache. – MEMark

4

Legen Sie die folgenden in web.config in der system.webServer Konfiguration:

<system.webServer>  
    <staticContent> 
     <remove fileExtension=".otf" /> 
     <mimeMap fileExtension=".otf" mimeType="font/otf" /> 
    </staticContent> 
</system.webServer> 
-1

Meine beste Wette ist, dass Sie relative Pfade zu Ihren Font-Dateien in Ihrem CSS haben.

Erhalten Sie eine 403 Verboten? Das könnte bedeuten, dass Ihre Dateipfade deaktiviert sind.

Versuchen Sie, Ihre Wege von ../filename.otf um so etwas wie /Styles/filename.otf zu ändern (oder was auch immer Ihr Weg ist)

0

Das Problem für mich ist, dass die Dateien nicht mit dem Projekt enthalten waren . Sie befanden sich im richtigen Dateipfad ((project)/Content/fonts/*), wurden aber nicht als Teil des Projekts betrachtet (d. H. Referenzen durch die Datei *.csproj). Die Lösung bestand darin, mit der rechten Maustaste auf den Schriftartenordner zu klicken und die Option Include in Project auszuwählen.

Verwandte Themen