Фу, це стара проблема, яка все ще з’являється у Visual Studio раз у раз. Мене це покусало пару разів, і я втратив години перезавантаження та боротьби з VS. Я впевнений, що це обговорювалося тут на SO не раз. Про це також говорили на форумах MSDN. Немає фактичного рішення, але є кілька шляхів вирішення. Почніть дослідження тут .
Що відбувається, це те, що VS отримує блокування файлу, а потім не випускає його. За іронією долі, цей замок не дозволяє самому VS видалити файл, щоб він міг відтворити його під час відновлення програми. Єдине явне рішення - закрити та перезапустити VS, щоб він звільнив замок у файлі.
Моїм оригінальним рішенням було відкриття папки bin / Debug та перейменування виконавчого файлу. Ви не можете його видалити, якщо він заблокований, але ви можете перейменувати його. Таким чином, ви можете просто додати номер до кінця або щось таке, що дозволяє продовжувати працювати без закриття всіх ваших вікон і чекати, коли VS перезапуститься. Деякі люди навіть автоматизували це за допомогою події попередньої збірки, щоб додати випадковий рядок до кінця старої назви вихідного файлу. Так, це гігантський злом, але ця проблема стає настільки розчаровувальною і виснажливою, що ви будете робити що завгодно.
Пізніше я дізнався, після трохи більше експериментів, що проблема, здається, виникає лише тоді, коли ви будуєте проект з відкритим одним з дизайнерів. Отже, рішення, яке працювало на мене довгостроково і заважало мені більше ніколи не стикатися з однією з цих дурних помилок, - це впевнення, що я завжди закриваю всі вікна дизайнера перед тим, як створити проект WinForms. Так, це теж дещо незручно, але це, безумовно, позбавляє штани, потребуючи перезавантаження VS двічі на годину або більше.
Я припускаю, що це стосується і WPF, хоча я не використовую його і особисто не відчував проблеми.
Я також ще не намагався відтворити його на VS 2012 RC. Я не знаю, чи це там ще зафіксовано чи ні. Але мій досвід до цього часу полягає в тому, що він все ще вдається вискочити навіть після того, як Microsoft заявила, що це виправили. Він все ще є у VS 2010 SP1. Я не кажу, що їхні програмісти - це ідіоти, які, звичайно, не знають, що роблять. Я вважаю, що в помилках є лише кілька причин і / або їх дуже важко відтворити в лабораторії. Це та сама причина, що я особисто не подавав жодних повідомлень про помилки (хоча я ще +1 до інших народів), тому що я не можу надійно відтворити його, швидше, як Гнучка Сніговик.
<кінцева рента, яка спрямована ні на кого особливо>