Подтвердить что ты не робот

App_offline.htm создается/удаляется всякий раз, когда я просматриваю файл в TFS

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

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

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

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

4b9b3361

Ответ 1

Я обнаружил обход.

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

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

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

3) Создайте каталог с именем app_offline.htm(a DIRECTORY!)

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

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

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

Ответ 2

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

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

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

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

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

Ответ 4

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