App_offline.htm создается / удаляется всякий раз, когда я проверяю файл в TFS - PullRequest
21 голосов
/ 19 октября 2010

У меня есть AJAX-тяжелое веб-приложение ASP.NET, разработанное с использованием .NET 4.0, использующее TFS в качестве нашего источника контроля.Недавно мы обновили наши инструменты разработки, чтобы использовать исключительно VS2010 и TFS 2010, но теперь каждый раз, когда файл извлекается, мы видим, как Visual Studio перезагружает все символы и все сеансы удаляются.

После появления некоторой ошибкирегистрируя код, мы обнаружили, что причина повторного использования заключается в том, что он считает, что App_offline.htm меняется всякий раз, когда мы проверяем.Этого не существует нигде в проекте, и мой SO-фу нашел некоторую информацию о том, что SQL Express создает и удаляет этот файл, так что, возможно, именно это и происходит здесь.

Похоже, у меня естьSQL-Express установлен, но даже при отключении служб, которые работают, проблема сохраняется.

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

Ответы [ 4 ]

14 голосов
/ 05 июня 2013

Обнаружен обходной путь.

1) Перейдите в папку, в которой Visual Studio кэширует файл app_offline.htm C: \ Users [пользователь] \ AppData \ Roaming \ Microsoft \ VisualStudio \ 11.0\ (замените [user] на ваше имя пользователя)

2) Удалите файл app_offline.htm

(ПРИМЕЧАНИЕ: это само по себе не решит проблему, так как VS заново создает файл, когда он не найден)

3) Создайте каталог с именем app_offline.htm (КАТАЛОГ!)

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

Теперь продолжайте использовать VS и Team Foundation Server и наслаждайтесь не постоянной перезагрузкой домена приложения!

Это, конечно, означает, что любой процесс публикации будетвероятно, не используйте файл app_offline.htm, поэтому вам нужно следить за этим.

1 голос
/ 07 декабря 2010

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

У меня на самом деле есть 3 подключения к базе данных в обозревателе серверов. Если я отсоединяю 2 соединения, которые на самом деле являются подключениями к базе данных на удаленном сервере SQL, не не создает файл app_offline при обновлении. Он ТОЛЬКО создает файл app_offline, если я отключаюсь от ЛОКАЛЬНОГО файла .MDF, а затем обновляю (который повторно подключается к этому файлу .mdf и красный отключенный X исчезает). Конечно же, после каждого повторного подключения к этой локальной базе данных файл app_offline.htm отображается в моей корзине.

Сделав шаг вперед, я отключил локальную базу данных (файл .mdf) и переместил файл на рабочий стол. Затем перезапустил VS2010 и не смог воспроизвести ошибку. Я положил файлы обратно, восстановил соединение и снова начал получать app_offline. Затем я отключил службу SQLExpress и получил некоторые другие ошибки, , но даже при отключенной службе SQLExpress я все еще получил app_offline в своей корзине .

Итак, я думаю, что мой ответ - избавиться от локальных баз данных .mdf, если можете. Это не очень хороший вариант для меня, потому что мне нужна эта локальная база данных, когда я работаю над кодом удаленно, но если вам не нужны никакие локальные базы данных, возможно, вы могли бы попытаться удалить их.

Примечание. Я использую VS2010 (а иногда и VS2008) и SQLExpress 2008 RS. Я не пользуюсь TFS.

0 голосов
/ 02 декабря 2010

Может быть, кто-то делает проверку в файле app_offline, когда вы получаете проект, файл приходит. Посмотрите на ваш исходный репозиторий.

0 голосов
/ 24 октября 2010

Похоже, ответ заключается в использовании проектов веб-приложений, а не проектов веб-сайтов.

остановить app_offline.htm от создания и удаления при каждой сборке?

Почему app_offline.htm продолжает появляться в моем веб-проекте?

...