2012-11-15 20 views
16

/imagesフォルダに.otfフォントのMVC 4アプリケーションがあります。それは私のデスクトップ上で動作しますが、私は紺碧のために展開するときに、私は/images/myfont.otf.OTFフォントがAzureにデプロイされていない

にアクセスしようとしているフォントが既に「コンテンツ」に設定ビルドアクションプロパティを持っている場合

どのようにすることができます404を取得しますAzureがこれを拾うように強制する?

+1

** cspkg **ファイルを抽出することでファイルがコピーされるかどうかを確認できます(これはAzureにアップロードされます)。これは 'X:\ Solution \ AzureProject \ bin \ ConfigName \ app.publish \ AzureProject.cspkg' ASP.NETプロジェクトを抽出して、sitesrootの下のコンテンツフォルダを確認する必要があります。 –

答えて

28

おそらく適切にこのファイルの種類を提供するために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

+1

それは私のために働いた、ありがとう! – JleruOHeP

2

HTTPエラー404は、サーバー上にコンテンツが見つからないことを意味します。つまり、アプリケーションをWindows Azureに展開すると、そのコンテンツはパッケージに含まれていませんでした。

上記のように、.OTFは内容として設定されているため、コンパイラに静的ファイルとして扱わせ、ビルドしないように指定していますが、特定のファイルは最終出力フォルダにコピーされません最終的なCSPKGの一部。 CSPKGの一部になり、Azure Cloudサービスに展開できるように、「コピー先は常に出力ディレクトリ」に設定する必要があります。

ファイルのプロパティを正しく設定してアプリケーションをビルドしたら、手動で出力フォルダにアクセスして、そのファイルが解凍されているだけでなくCSPKGも確認できます。

enter image description here

+2

これはおそらく問題ではありません。フォントファイルは画像と変わりありません。それらのプロパティを変更する必要はありません。私の答えは、より可能性の高い原因を参照してください。 – MEMark

4

場所:

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

を私の最善の策でありますあなたのCSS内のフォントファイルへの相対パスがあることを確認してください。

403禁止されていますか?これはあなたのファイルパスがオフであることを示している可能性があります。

0

私にとっては、問題のファイルがプロジェクトに含まれていなかったということですが/Styles/filename.otfのようなものに../filename.otfからあなたのパスを変更してみてください(または、あなたのパスは何でも) 。それらは正しいファイルパス((project)/Content/fonts/*)にありましたが、プロジェクトの一部とはみなされません(*.csprojファイルの参照)。解決策は、フォントフォルダを右クリックし、Include in Projectオプションを選択することでした。

関連する問題