Visual Studio 11 Dev Preview: не удается удалить thumbs.db

У меня возникла серьезная проблема с рабочим процессом разработки в Visual Studio 11 Developer Preview в Windows 8 Developer Preview. Вот что я вижу, и другие друзья видят то же самое.

  • Откройте визуальную студию
  • Создать новое пустое приложение Javascript
  • Добавьте очень простой код, чтобы добавить метку (код и проект, похоже, не имеют значения)
  • Начните с отладки (локальный компьютер)
  • Работать нормально
  • Остановить отладку
  • Беги снова
  • Сборка завершена
  • Сбой на этапе развертывания

    1>------ Начата сборка: Проект: MyProject, Конфигурация: Debug Any CPU ------ 1> MyProject-> C:\Users\mmoser\Documents\Visual Studio 11 \Projects\MyProject\MyProject\ Debug\MyProject.build.appxrecipe 2>------ Начато развертывание: Проект: MyProject, Конфигурация: Debug Any CPU ------ 2>Ошибка DEP0500: Невозможно удалить папку "C:\Users\mmoser\ AppxLayouts\MyProject.Debug.AnyCPU.mmoser» по следующей причине: 2> Процесс не может получить доступ к файлу «Thumbs.db», поскольку он используется другим процессом. 2>Произошла одна или несколько ошибок. ========== Сборка: 1 успешно, 0 неудачно, 0 обновлено, 0 пропущено ========== ========== Развертывание: 0 успешно, 1 неудачно, 0 пропущено ==========

  • Попробуйте удалить папку из проводника Windows, та же ошибка

  • Подождите от нескольких секунд до минуты
  • Попробуйте еще раз, и это работает

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

Нам интересно, правильно ли Visual Studio освобождает доступ к папкам развертывания?

Любая помощь с этим была бы потрясающей! Я застрял, и наш проект застопорился... пожалуйста, помогите!


person Michael Moser    schedule 16.09.2011    source источник
comment
Windows 8 находится в предварительной бета-версии — по определению вы, вероятно, столкнетесь с подобными проблемами, потому что код еще не считается готовым к выпуску (или даже официальному бета-тестированию). Вы должны сообщить о проблеме в MS, чтобы они могли исследовать и предоставить решение или исправление для следующего выпуска Win8.   -  person Eight-Bit Guru    schedule 16.09.2011


Ответы (2)


Файл thumbs.db — это файл, созданный проводником и содержащий миниатюры изображений для предварительного просмотра.

У вас случайно не открыто окно проводника в папке макета AppX? Папка макета в этом случае — «C:\Users\mmoser\AppxLayouts\MyProject.Debug.AnyCPU.mmoser». Заблокированные файлы не позволяют нам обновить папку макета, и, следовательно, развертывание завершится ошибкой.

К вашему сведению: я работаю в MS в команде VS Pro. Если у вас по-прежнему возникает проблема, отправьте сообщение об ошибке Connect, и мы рассмотрим ее. (http://connect.microsoft.com/)

person Frisky    schedule 16.09.2011
comment
Спасибо за ответ. Я остановился у стенда VS в выставочном зале и показал им номер. Кажется, что WWAHost не отключался, когда я прекратил отладку. Лучший способ устранения неполадок — Process Explorer. - person Michael Moser; 18.09.2011

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

Три сенариуса, о которых я знаю сейчас, это:

  1. Когда вы прекращаете отладку, пользовательский интерфейс вашего приложения больше не отображается, но WWAHost.exe все еще работает (приложения JavaScript), и у него есть доступ к файлам.
  2. Если вы запустите симулятор, у вас может быть запущен сеанс, который может вызвать другие проблемы с доступом к файлам (не те, которые я описал в этом посте).
  3. Если вы используете контракт на совместное использование данных, он использует брокерскую службу, и это не всегда закрывается.

Если вы сталкиваетесь с проблемами с заблокированными файлами при попытке сборки или развертывания, я бы порекомендовал загрузить Process Explorer с сайта sysinternals и посмотреть, какой процесс удерживает ваши файлы. Затем убейте его в диспетчере задач.

Примечание. Моя проблема была №1. Я создавал приложение JavaScript, а процесс WWAHost (хост веб-приложений Windows) все еще работал.

person Michael Moser    schedule 18.09.2011
comment
Почему бы вам не убить его в проводнике процессов? - person Mike Cheel; 19.02.2012