/imagesフォルダに.otfフォントのMVC 4アプリケーションがあります。それは私のデスクトップ上で動作しますが、私は紺碧のために展開するときに、私は/images/myfont.otf.OTFフォントがAzureにデプロイされていない
にアクセスしようとしているフォントが既に「コンテンツ」に設定ビルドアクションプロパティを持っている場合
どのようにすることができます404を取得しますAzureがこれを拾うように強制する?
/imagesフォルダに.otfフォントのMVC 4アプリケーションがあります。それは私のデスクトップ上で動作しますが、私は紺碧のために展開するときに、私は/images/myfont.otf.OTFフォントがAzureにデプロイされていない
にアクセスしようとしているフォントが既に「コンテンツ」に設定ビルドアクションプロパティを持っている場合
どのようにすることができます404を取得しますAzureがこれを拾うように強制する?
おそらく適切にこのファイルの種類を提供するためにIISを設定する必要があります。あなたはWeb.config
で<system.webServer>
要素に以下を追加することでこれを行う:system.webServer
構成でweb.config
に次
<staticContent>
<mimeMap fileExtension=".otf" mimeType="font/otf" />
</staticContent>
詳細情報 http://www.big.info/2013/06/how-to-use-otf-opentype-format-fonts-on.html
それは私のために働いた、ありがとう! – JleruOHeP
HTTPエラー404は、サーバー上にコンテンツが見つからないことを意味します。つまり、アプリケーションをWindows Azureに展開すると、そのコンテンツはパッケージに含まれていませんでした。
上記のように、.OTFは内容として設定されているため、コンパイラに静的ファイルとして扱わせ、ビルドしないように指定していますが、特定のファイルは最終出力フォルダにコピーされません最終的なCSPKGの一部。 CSPKGの一部になり、Azure Cloudサービスに展開できるように、「コピー先は常に出力ディレクトリ」に設定する必要があります。
ファイルのプロパティを正しく設定してアプリケーションをビルドしたら、手動で出力フォルダにアクセスして、そのファイルが解凍されているだけでなくCSPKGも確認できます。
これはおそらく問題ではありません。フォントファイルは画像と変わりありません。それらのプロパティを変更する必要はありません。私の答えは、より可能性の高い原因を参照してください。 – MEMark
場所:
<system.webServer>
<staticContent>
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
</staticContent>
</system.webServer>
を私の最善の策でありますあなたのCSS内のフォントファイルへの相対パスがあることを確認してください。
403禁止されていますか?これはあなたのファイルパスがオフであることを示している可能性があります。
私にとっては、問題のファイルがプロジェクトに含まれていなかったということですが/Styles/filename.otfのようなものに../filename.otfからあなたのパスを変更してみてください(または、あなたのパスは何でも) 。それらは正しいファイルパス((project)/Content/fonts/*
)にありましたが、プロジェクトの一部とはみなされません(*.csproj
ファイルの参照)。解決策は、フォントフォルダを右クリックし、Include in Project
オプションを選択することでした。
** cspkg **ファイルを抽出することでファイルがコピーされるかどうかを確認できます(これはAzureにアップロードされます)。これは 'X:\ Solution \ AzureProject \ bin \ ConfigName \ app.publish \ AzureProject.cspkg' ASP.NETプロジェクトを抽出して、sitesrootの下のコンテンツフォルダを確認する必要があります。 –