4

私はMVC3で奇妙な問題を抱えていると思います。私の css ファイルには、次のような IE の @font-face が含まれています。

@font-face {
    font-family: AvantGardeNormal;
    src: url('fontname.eot');
}

ローカル (私のマシン上) では問題なく動作しますが、サーバー (Azure) に発行すると、次のエラーが発生します: (コントローラー内のアクションのようにフォント ファイルにアクセスしようとしているように) エラー (System.Web.HttpException ): パス '/Content/fontname.eot' のコントローラーが見つからないか、IController を実装していません。

もちろん、フォントは読み込まれません。

ありがとう。

4

4 に答える 4

2

各フォント ファイルの [ビルド アクション] を [コンテンツ] に設定します。そうしないと、フォント ファイルが展開されません。

于 2012-05-30T14:38:29.583 に答える
1

参照、コンテンツ、またはデータファイルがデプロイメントの一部であるかどうかを確認する方法はいくつかあります。一般的なもののほとんどはここで説明されています:

まず、参照または静的コンテンツのプロパティをチェックして、「ローカルコピーが「True」に設定されているかどうかを確認できます。

次に、CSPKGファイルを解凍し(必要に応じて名前をzipに変更します)、CSPKG内にあるCSSXファイルを解凍します。CSSXファイルを解凍すると、展開後にアプリケーションで使用できるようになるため、そこで使用できるものを確認できます。

第3に、RDPを介してAzure VMにアクセスできる場合は、RDクレデンシャルを使用してログインし、ドライブE:とフォルダーApproot\フォルダーですべての参照と静的コンテンツを探すことができます。

于 2012-05-10T16:09:07.753 に答える
0

ELMAH を使用してこれらの例外をキャッチした場合、私の経験では、100% の場合、デプロイでフォント ファイルがデプロイされなかったことが原因です。ファイルがサーバー上に存在することを再確認する必要があります。

于 2012-05-09T22:34:57.243 に答える