asp.net Web プロジェクトを作成しました。このプロジェクトにいくつかのファイルを含めました。必要なすべての CSS 標準に従う。
background-image: url('~/Images/sideheader.png')
サイトをデバッグすると、すべての画像を見ることができます。しかし、サイトを公開すると、サイトに画像が表示されません。
この問題の解決を手伝ってください。
asp.net Web プロジェクトを作成しました。このプロジェクトにいくつかのファイルを含めました。必要なすべての CSS 標準に従う。
background-image: url('~/Images/sideheader.png')
サイトをデバッグすると、すべての画像を見ることができます。しかし、サイトを公開すると、サイトに画像が表示されません。
この問題の解決を手伝ってください。
次のように使用する必要があります。
background-image: url('/Images/sideheader.png')
このようにして、相対パスが正しい場所に解決されます。
URL がファイルを指していません。デバッグ サーバーで正常に動作します。これは、デバッグで実行すると、公開先のサーバーとは異なる構成を持つプロジェクトのテスト サーバーが起動されるためです。別のディレクトリにあるか、別のホーム ディレクトリが構成されているため、イメージが見つかりません。
この質問に来る人にとって、これは、相対 URL を絶対 URL に置き換えることで問題が解決するかどうかをテストすることで決定されました。これは、OP のコメント セクションで発生しました。
ディレクトリに手動でファイル (つまり、images/js/css) を追加し、それらを html/css で直接使用すると (質問に従って)、Visual Studio はそれらが存在することを認識しません。「すべてのファイルを表示」してから、公開する画像/ファイルを「プロジェクトに含める」必要があります。
Visual Studio のソリューション エクスプローラーに表示されている (含まれている) ファイルのみがサーバーに公開されます。
フォルダーimages
をプロジェクトに追加して、プロジェクトを再公開するだけです。フォルダを追加するには、 に移動してsolution explorer
をクリックし、フォルダをshow all files
右クリックしてimages
を選択しますinclude in project
。CSS やその他の場所で使用した画像の URL を変更する必要はありません。