2013-05-18 4 views
1

Я создал веб-проект asp.net. Я включил некоторые файлы в этот проект. Следуя всем стандартам CSS.Изображения не отображаются после VS 2012 Опубликовать

background-image: url('~/Images/sideheader.png') 

Я вижу все фотографии, когда я отлаживаю свой сайт. Но когда я публикую свой сайт, я не вижу картинки на своем сайте.

Пожалуйста, помогите мне решить эту проблему.

+0

Вы проверили, находятся ли изображения в правильной директории в местоположении публикации? –

+0

есть. 100 раз: P, в противном случае во время отладки он не появлялся. –

+0

Обычно отладка запускает экземпляр сервера, специфичный для проекта отладки. Если это публикуется на другом сервере, каталог, на который ссылается ваш относительный URL, может не совпадать с каталогом. –

ответ

0

Ваш адрес не указывает на файл. Он отлично работает на сервере отладки, потому что когда вы запускаете его при отладке, он запускает тестовый сервер для вашего проекта, который имеет другую конфигурацию, чем сервер, на котором вы опубликовали. Поскольку у вас это в другом каталоге или у вас есть другой домашний каталог, он не может найти изображение.

Для всех, кто пришел к этому вопросу, это было определено на основе тестирования, если бы замена относительного URL-адреса на абсолютный способ могла решить проблему, которая имела место в разделе комментариев OP.

0

Когда вы вручную добавляете файлы (т. Е. Изображения/js/css) в каталог и используете их непосредственно в html/css (согласно вашему вопросу), Visual Studio не знает, что они существуют. Вам нужно «показать все файлы», а затем «включить в проект» изображения/файлы, которые вы хотите опубликовать.

Только файлы, которые видны (= включены) в Обозреватель решений в Visual Studio, будут опубликованы на ваш сервер.

enter image description here

+0

OP заявила в комментариях, что " Во время публикации снимки копируются в папку «Изображения» на сервере ». Это больше похоже на проблему разрешения пути, поскольку она использует относительные URL-адреса. –

+0

OP заявила, что при отладке он видит изображения. Это локальный экземпляр VS, ссылающийся на локальные файлы на диске. Это не имеет ничего общего с публикацией. Публикация (Via Visual Studio) копирует только файлы, включенные в проект, на удаленный сервер. –

+1

Я предполагаю, что нашел решение http://www.geospecialling.com/index.php/2009/04/using-relative-urls-in-css-with-aspnet/ –

0

Вам просто нужно добавить папку images в свой проект и опубликуйте ваш проект. Чтобы добавить папку, перейдите к solution explorer, нажмите show all files, щелкните правой кнопкой мыши по папке images и выберите include in project. Вам не нужно изменять какие-либо URL-адреса изображений, которые вы использовали в вашем css или где-либо еще.

1

Вы должны использовать его как это:

background-image: url('/Images/sideheader.png') 

таким образом относительные пути рассасывается к нужному месту.

0

Я столкнулся с той же проблемой, в моем случае, поскольку папка «Изображения» не распознана Visual Studio, мне пришлось установить разрешения на чтение для всех. После того, как я установил разрешения папки «Image», мои изображения появились просто отлично.