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

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

Сейчас я часто использую программу, но она еще не закончена, поэтому я еще не "выпустил" ее. Я подумал, что могу просто прикрепить его к панели задач и просто указать ссылку на версию программы bin/Debug. Однако я обнаружил, что когда я делал это, иконка, которую я настраивал в тот день, не отображалась должным образом (совершенно другая проблема, не связанная с этой). Поэтому мне пришлось закреплять и откреплять программу несколько раз. Я знал, что иногда в некоторых системах значок не будет меняться или отображаться на панели задач должным образом до перезагрузки компьютера. В конце дня я выключил его и перезапустил на следующий день. Это не сработало.

В тот момент это не казалось мне таким уж важным, поэтому я просто решил отложить редактирование и продолжить работу над таблицами спрайтов. Через некоторое время я захотел увидеть это в действии, поэтому я запустил свой аниматор через панель задач. Это было когда Аваст! начал пытаться проанализировать вещь, чтобы увидеть, если это был вирус. Я подумал: «Хорошо. Это не вирус, но вы скоро это узнаете». Немного прошло (около часа), и дело так и не закончилось. После нескольких попыток заставить проклятую чрезмерно осторожную защиту от вирусов оставить мою программу в покое, я решил открепить ее и запустить из IDE. В этот момент все работало нормально. После этого я снова закрепил его, и он будет работать нормально из любой опции: через IDE или с панели задач.

После другого дня и перезапуска я решил, что мне надоела эта уродливая иконка, и отредактировал ее еще раз. Я поместил его в программу, но когда я попытался собрать его, он завис там дольше обычного, а затем вернулся и сказал что-то вроде этого:

Невозможно скопировать файл «obj \x86 \Debug \SpriteSheetAnimator.exe» в «bin \x86 \Debug \SpriteSheetAnimator.exe». Процесс не может получить доступ к файлу «bin \x86 \Debug \SpriteSheetAnimator.exe», так как он используется другим процессом.

После этого сообщения были предупреждающие сообщения, детализирующие, сколько раз он пытался его построить (10 раз).

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

  • Я подумал, что это странно, поэтому я решил просто почистить его и восстановить. Я получил это от попытки очистки:

Невозможно удалить файл "C:...\bin\x86\Debug\SpriteSheetAnimator.exe". Доступ к пути «C:...\bin\x86\Debug\SpriteSheetAnimator.exe» запрещен.

  • Хорошо. Это отстой. Поэтому после попытки вручную удалить папки \bin и \obj я обнаружил, что он по-прежнему не позволяет мне по тем же причинам.

Это было день назад. Сегодня я попробовал это:

  • Я обнаружил, что процессы могут иметь дескриптор файлов, поэтому после некоторых исследований я обнаружил, что handle.exe из SysInternalSuite может решить эту проблему. Я попытался ввести «handle -c 18 -y -p 5946» в командной строке. Это не сработало, и все, что я получил от дескриптора, это ошибка:

T

Вот и все. Нет опечатка или пропущенные буквы. "Т" - это все, что я получил как ошибку.

  • Я также обнаружил, что могу просто удалить потоки, используя Process Explorer из того же набора. Каким-то образом у меня их было три, хотя программа не многопоточная. Во всяком случае, это не имело значения; когда я пытался их убить, мне сказали, что у меня нет доступа.

Итак, это все. Я не могу думать ни о чем другом, чтобы сделать.

Я использую Windows 8.1 с VS2013.

Дескриптор версии 4.0

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

0