Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Build, Rebuild, Clean ใน C# ใช้ตัวไหนดี

ความแตกต่างของ Build Actions

Actionคำอธิบายใช้เมื่อไหร่
BuildIncremental Build - Compile เฉพาะไฟล์ที่เปลี่ยนแปลงDevelopment ปกติ เร็วที่สุด
RebuildClean + Build - ลบ Output ทั้งหมด แล้ว Build ใหม่ทั้ง Solutionแก้ปัญหา Cache, Reference Error, Switch Branch
Cleanลบไฟล์ Compiled (bin/obj) ทั้งหมด ไม่ Buildก่อน Commit, เปลี่ยน Config, Free Disk Space

รายละเอียด

Build (Incremental)

  • ตรวจสอบ Timestamp ของ Source vs Output
  • Compile เฉพาะ Project/File ที่ Dirty
  • เร็วที่สุดสำหรับ Development Loop
  • Shortcut: Ctrl+Shift+B

Rebuild (Full Rebuild)

  • Rebuild = Clean + Build
  • ลบ bin และ obj ของทุก Project
  • Compile ทุกอย่างใหม่จากศูนย์
  • ช้ากว่า Build มาก
  • แก้ปัญหา: Stale Cache, Assembly Mismatch, Generated Code ไม่ Update

Clean

  • ลบ Output Files (.exe, .dll, .pdb, .xml docs) ใน bin/obj
  • ไม่ Compile ใหม่
  • ใช้ก่อน Check-in / Package / Deploy

Best Practice Workflow

  1. Daily Dev: Build (Incremental)
  2. Pull Latest / Switch Branch: Rebuild
  3. Before Commit / PR: Clean → Rebuild → Run Tests
  4. CI/CD Pipeline: Clean → Build (Fresh Environment)
  5. Weird Errors (Metadata, Reference): Clean → Rebuild

Command Line (dotnet CLI)


dotnet build        # Incremental
dotnet build --no-incremental  # Force Rebuild
dotnet clean        # Clean only
dotnet rebuild      # Clean + Build (alias)

Visual Studio Shortcuts

  • Ctrl+Shift+B - Build Solution
  • Ctrl+Alt+F7 - Rebuild Solution
  • Right-click Solution → Clean / Rebuild