Pertanyaan ini telah diajukan beberapa waktu yang lalu tetapi ini berkaitan dengan jenis masalah yang sama yang saya alami.
Masalah:
- Kami ingin memeriksa kode kami.
- Kami kemudian ingin membangun proyek kami.
- Selama pembuatan, kami bergantung pada Acara Build untuk memindahkan file sehingga kami memiliki file yang tepat untuk menyelesaikan proses pembangunan.
- Saat Build Event kami mencoba menyalin file, kami mendapatkan error Access Denied.
Alasannya:
- Plugin Team Foundation Server Visual Studio mengubah atribut Read Only pada file kami menjadi READONLY TRUE ketika kami memeriksa file kami.
Contoh Build Event:
- salin "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
Di atas, kita hanya perlu memindahkan file dari Target Build Path kita (folder bin \ debug atau bin \ release) ke Folder Proyek kita. Dalam situasi saya, ini agar saya dapat menyertakan file yang dibangun proyek di penginstal saya. Pemasang saya tidak mengambilnya sebagai bagian dari Output Proyek.
The Fix: (hampir menendang wajah saya ketika saya menemukan ini)
Acara Build Baru:
- attrib -R "$ (ProjectDir) SomeFile.ext"
- salin "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
- attrib + R "$ (ProjectDir) SomeFile.ext"
Kita semua bersenang-senang dengan Build Events, bukan? Di atas saya hanya melakukan 2 hal, saya menghapus atribut hanya baca, sekarang file tidak hanya baca. Salin file saya seperti yang saya inginkan. Kemudian ganti Atribut Hanya Baca (opsional saya kira) untuk menjaga Visual Studio dan Yayasan Tim senang.
Dan ya ... Aku masih menyalahkan diriku sendiri untuk yang satu ini.