คำถามนี้ถูกถามเมื่อไม่นานมานี้ แต่เกี่ยวข้องกับปัญหาประเภทเดียวกับที่ฉันพบ
ปัญหา:
- เราต้องการตรวจสอบรหัสของเรา
- จากนั้นเราต้องการสร้างโครงการของเรา
- ในระหว่างการสร้างเราต้องอาศัย Build Events เพื่อย้ายไฟล์ไปรอบ ๆ ดังนั้นเราจึงมีไฟล์ที่เหมาะสมเพื่อให้กระบวนการสร้างเสร็จสมบูรณ์
- เมื่อ Build Event ของเราพยายามคัดลอกไฟล์เราได้รับข้อผิดพลาด Access Denied
เหตุผล:
- Team Foundation Server Visual Studio Plugin เปลี่ยนแอตทริบิวต์ Read Only ในไฟล์ของเราเป็น READONLY TRUE เมื่อเราเช็คอินไฟล์ของเรา
สร้างตัวอย่างเหตุการณ์:
- คัดลอก "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
ด้านบนเราต้องย้ายไฟล์จาก Target Build Path (โฟลเดอร์ bin \ debug หรือ bin \ release) ไปยังโฟลเดอร์โครงการของเรา ในสถานการณ์ของฉันสิ่งนี้ทำให้ฉันสามารถรวมไฟล์ที่สร้างโครงการไว้ในโปรแกรมติดตั้งของฉันได้ โปรแกรมติดตั้งของฉันไม่ได้รับมันเป็นส่วนหนึ่งของผลลัพธ์ของโครงการ
การแก้ไข: (เกือบจะเตะตัวเองต่อหน้าเมื่อฉันคิดออก)
กิจกรรมสร้างใหม่:
- แอตทริบิวต์ -R "$ (ProjectDir) SomeFile.ext"
- คัดลอก "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
- แอตทริบิวต์ + R "$ (ProjectDir) SomeFile.ext"
เราทุกคนกำลังสนุกกับ Build Events ใช่ไหม? ด้านบนฉันทำ 2 สิ่งฉันลบแอตทริบิวต์อ่านอย่างเดียวตอนนี้ไฟล์ไม่ได้อ่านอย่างเดียว คัดลอกไฟล์ของฉันตามที่ฉันต้องการในตอนแรก จากนั้นแทนที่แอตทริบิวต์อ่านอย่างเดียว (ฉันเดาว่าเป็นทางเลือก) เพื่อให้ Visual Studio และ Team Foundations มีความสุข
และใช่ ... ฉันยังคงเตะตัวเองต่อหน้าคนนี้