6

サイトをWindowsAzureにデプロイした後、CSSイメージが表示されないという非常に奇妙な状況があります。

  1. 画像はプロジェクトの一部です(すべてのファイルとサブフォルダーがプロジェクトに含まれています)

  2. すべての画像にはコンテンツのビルドアクションがあります

  3. 私は相対パスを使用していません。ビュー/content/ path / to / imagesには常に絶対パスを使用しますが、CSSには相対パスurl(../ img / image.png)がありますが、これは問題にはなりません。

  4. 画像が表示されない場合を除いて、静的ファイルは問題ありません(CSSとJavascriptは正しく機能します)。

gitを使用してデプロイしましたが、公開ウィザードを使用しても同じ結果が得られます。

フルパスでリクエストすると画像があります。これは「非現実的」です;)

私はここで重要なことを無視しているに違いありませんが、それを見つけることができません。御時間ありがとうございます。

編集:

画像はimgタグを介して機能します。したがって、意味のないCSSイメージのみが、ローカルで正しく機能しています。

私はリンクを共有できると思うので、あなたはこのことをライブで見ることができます;)

http://receivably.azurewebsites.net

左上のロゴを見てください。何も表示されません。これがHTMLとCSSです(これは2、3回前にうまく機能し、ローカルで正常に機能していました。

<a class="brand" href="/">name</a>

CSSの場合:

.navbar .brand {
    display: block;
    width: 180px;
    height: 34px;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 2px;
    margin-left: 10px;
    overflow: hidden;
    font-size: 18px;
    line-height: 600px;
    color: #333;
    background: url(../img/logo.png) no-repeat 0 0;
}

また、ファイルを直接リクエストすると、次の場所にあります:http: //receivably.azurewebsites.net/content/site/img/logo.png

CSSファイルは/content/ site / cssに配置され、画像は/ content / site/imgに配置されます。

gitpushができなくなったことを付け加えてもいいですか。公開ウィザードのみが機能します。AzureのそのWebサイトで多くの問題が発生しましたが、他の3つのアプリは問題なく動作します。

4

1 に答える 1

7

あなたのCSSバンドラーは物事を壊していると思います。

ホームページからバンドルされたCSSに表示されるものは次のとおりです(少し非限定化しました):

.brand
{
    display:block;width:180px;height:34px;padding-top:0;padding-bottom:0;margin-top:2px;
    margin-left:10px;overflow:hidden;font-size:18px;line-height:600px;color:#333;
    background:url(../img/logo.png) no-repeat 0 0
}

注意: background:url(../img/logo.png)から実行されている CSS から正しくない可能性があります。/bundles/

それは言うべきです:

../content/site/img/logo.png

またはあなたが言ったように/content/site/img/logo.png

これは、ローカル (バンドルされていない) および以前の展開でも機能する理由を説明します。バンドル関連のコードが最近変更された可能性があるためです。これは古典的なリリース時の問題であり、コンパイル時に余分に 0.500 秒かかるとしても、バンドルを (リリース モードだけでなく) フルタイムでオンにすることが賢明である理由の 1 つです。:-)

それが役立つことを願っています。

于 2012-11-14T18:55:21.653 に答える