Це питання було задане деякий час тому, але воно стосується того самого типу питань, що й у мене.
Проблема:
- Ми хочемо перевірити наш код.
- Тоді ми хочемо побудувати наш проект.
- Під час нашої збірки ми переносимо файли на події збірки, щоб мати належні файли для завершення процесу збірки.
- Коли наша Подія збірки намагається скопіювати файли, ми отримуємо помилки, яким заборонено доступ.
Причина:
- Плагін Team Foundation Server Visual Studio змінює атрибут "Лише для читання" у наших файлах на "ЧИСТО ІСТИННИЙ", коли ми перевіряємо наші файли.
Приклад побудови події:
- скопіювати "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
Вище, нам просто потрібно перемістити файл із нашого шляху побудови цілі (папки bin \ debug або bin \ release) до нашої папки проекту. У моїй ситуації це було так, щоб я міг включити в свій інсталятор створені за проектом файли. Мій інсталятор не захоплював їх як частину результатів проекту.
Виправлення: (ледь не вдарив себе в обличчя, коли я це зрозумів)
Нова подія збірки:
- attrib -R "$ (ProjectDir) SomeFile.ext"
- скопіювати "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
- attrib + R "$ (ProjectDir) SomeFile.ext"
Ми всі отримуємо задоволення від Build Events, чи не так? Вище я просто роблю 2 речі, я видаляю атрибут лише для читання, тепер файли не лише для читання. Скопіюйте мій файл так, як я спочатку хотів. Потім замініть атрибут "Лише для читання" (напевно, необов'язково), щоб Visual Studio та Team Foundation були щасливими.
І так ... Я все ще ногами в обличчя на цьому.