เมื่อใดก็ตามที่เราเขียนโค้ด C# และสร้างหรือเรียกใช้โซลูชัน จะสร้าง 2 โฟลเดอร์ -
- ถัง
- obj
ถังขยะและ obj เหล่านี้มีโค้ดที่คอมไพล์แล้ว
ทำไมเราถึงมี 2 โฟลเดอร์
เหตุผลคือกระบวนการคอมไพล์มี 2 ขั้นตอน
- กำลังรวบรวม
- การเชื่อมโยง
ในการคอมไพล์ไฟล์แต่ละไฟล์จะถูกคอมไพล์เป็นแต่ละหน่วย
ไฟล์ที่คอมไพล์เหล่านี้จะถูกเชื่อมโยงเป็นหนึ่งยูนิตในภายหลัง ซึ่งอาจเป็น dll หรือ exe
อะไรก็ตามที่เกิดขึ้นในเฟสที่คอมไพล์แล้วจะถูกเพิ่มเข้าไปในโฟลเดอร์ obj
การรวบรวมขั้นสุดท้ายที่เป็นเฟสที่เชื่อมโยงจะเข้าสู่โฟลเดอร์ bin
โฟลเดอร์ obj นี้ใช้ในการคอมไพล์แบบมีเงื่อนไขหรือคอมไพล์ส่วนเพิ่ม
ตัวอย่าง - ฉันมีโครงการขนาดใหญ่และมีหลายโซลูชันและหลายไฟล์
สมมติว่าถ้าฉันเปลี่ยนไฟล์ใดไฟล์หนึ่งและสร้างโซลูชัน เฉพาะไฟล์นั้นที่จะคอมไพล์ข้อมูลนี้จะอยู่ในโฟลเดอร์ obj