2010-01-27 2 views
10

Я регулярно (каждые несколько дней или около того) публикую свой веб-проект ASP.NET на локальном веб-сервере.Почему app_offline.htm продолжает появляться в моем веб-проекте?

Но самое странное, что происходит ... файл под названием «app_offline.htm» продолжает отображаться, незаметно, в моем веб-проекте!

Я удалил этот файл несколько раз, но не находится в исходном коде, и AFAIK никто не мешает проекту. Но практически каждый раз, когда я пытаюсь опубликовать проект, мое опубликование не удается (Unable to add 'app_offline.htm' to the Web site. The file 'app_offline.htm' already exists in this Web site.Error: The operation could not be completed. Unspecified error), я возвращаюсь, чтобы посмотреть на проект, и там он снова, большой, как жизнь, и я подозреваю, может ли это это будет дуть на меня малиной , : p

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

Итак, где это * & ^% $ # @% !! файл, и почему VS думает, что мне это нужно?

+0

Кто-нибудь знает, как исправить это с помощью Visual Studio 2008, IIS и иметь виртуальную папку на пути сборки? Это случается с двумя моими коллегами и ни одно из них не публикует. Один использует Vista и другие Windows 7. – diadem

ответ

7

Это .NET 2.0 "функция"

http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

http://www.codeproject.com/KB/aspnet/app_offline.aspx

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

Вы используете Visual Studio? http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102778

+0

+1 Полезные ссылки, но один на microsoft.com не работает. –

+0

Ссылка Microsoft может быть исправлена, если вы просто избавитесь от .3 в конце. –

+0

+ ответить кредит - ссылка MS имела информацию, которую я искал. Благодаря! –

4

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

Вот отрывок из статьи MSDN here:

Перед тем, как копировать файлы приложений, Копировать инструмент веб-сайт помещает файл с именем app_offline.htm в корневой каталог веб-сайта целевой. Пока файл App_offline.htm существует, любые запросы на веб-сайт перенаправляются на этот файл. Файл отображает дружественное сообщение, которое сообщает клиентам, что веб-сайт обновляется. Когда все файлы веб-сайта были скопированы, инструмент «Копировать веб-сайт» удаляет файл App_offline.htm с целевого веб-сайта.

Я бы предположил, что по какой-то причине есть два события публикации, которые каким-то образом конфликтуют друг с другом?

Способ, которым я обхожу это, - использовать nant для создания моего решения, а затем скопировать только то, что я хочу. Я действительно копирую файл app_offline сначала, используя эту функцию, но тогда я управляю, когда он копируется и удаляется.

+0

Я заметил, что когда есть файл thumbnail.db, который является системным файлом, и он не был проигнорирован, иногда может возникнуть проблема с удалением этих типов файлов, и этот файл App_offline.htm будет быть сгенерированным, а затем удобно помещаться в корзине. – RetroCoder

Смежные вопросы