チェックすると、DejaVuSansMono.ttf
ファイルがサーバーにコピーされていないことがわかります。コピーされていないため、IIS7.5が提供するフォントファイルはありません。IIS Expressはローカルディレクトリでファイルを見つけることができるため、ローカルで機能します。
Visual Studioが認識しないファイルの種類では、BuildActionプロパティがデフォルトで[なし]に設定されています。フォントファイルは、そのような認識されないタイプの1つです。BuildActionがnoneの場合、VisualStudioはアプリケーションのビルド時にこのファイルを無視します。BuildActionプロパティには、すぐに使用できるオプションがいくつかあります。
- なし-ファイルはプロジェクト出力グループに含まれず、ビルドプロセスでコンパイルされません。例として、Readmeファイルなどのドキュメントを含むテキストファイルがあります。
- コンパイル-ファイルはビルド出力にコンパイルされます。この設定は、コードファイルに使用されます。
- コンテンツ-ファイルはコンパイルされませんが、コンテンツ出力グループに含まれます。たとえば、この設定は.htmまたはその他の種類のWebファイルのデフォルト値です。
- 埋め込みリソース-このファイルは、DLLまたは実行可能ファイルとしてメインプロジェクトビルド出力に埋め込まれます。通常、リソースファイルに使用されます。
の最も適切なBuildActionプロパティ設定DejaVuSansMono.ttf
はContentです。このようにBuildActionを設定すると、ファイルがリモートサーバーにコピーされます。残念ながら、この手動プロセスは、認識されないファイルタイプのファイルごとに繰り返す必要があり、開発者は面倒なエラーが発生しやすいプロセスに備えることになります。ありがたいことに、Andre Lokerには、VisualStudioでのデフォルト以外のファイルタイプのデフォルトのビルドアクションの設定に関するすばらしいブログ投稿があります。