ตัวเลือกนี้ทำอะไร? สามารถเข้าถึงได้จากเมนูสร้าง
ตัวเลือกนี้ทำอะไร? สามารถเข้าถึงได้จากเมนูสร้าง
คำตอบ:
จะลบไฟล์ที่คอมไพล์และไฟล์ชั่วคราวทั้งหมดที่เกี่ยวข้องกับโซลูชัน ช่วยให้มั่นใจได้ว่าบิลด์ถัดไปเป็นแบบเต็มแทนที่จะคอมไพล์ใหม่
จะลบรหัสออบเจ็กต์ทั้งหมดที่สร้างขึ้นระหว่างการคอมไพล์ / บิลด์ก่อนหน้านี้ มันจะลบไฟล์ประเภทด้านล่างทั้งหมด: -
* .obj - รหัสวัตถุ
* .pdb - ไฟล์ฐานข้อมูลการดีบักของโปรแกรม
* .bsc - ฐานข้อมูลเบราว์เซอร์ต้นทาง
* .ilk - ไฟล์ลิงค์เกอร์ที่เพิ่มขึ้น
* .sbr - ไฟล์กลางของเบราว์เซอร์ต้นทาง
* .idb - สร้างไฟล์อ้างอิงใหม่
* .lib - ไฟล์ไลบรารี
* .exe - ปฏิบัติการ
JFYI - แม้แต่คำสั่ง Rebuild All ก็สามารถทำสิ่งนี้ได้ทั้งหมดจากนั้นไปสร้างไฟล์ต้นฉบับที่สมบูรณ์
-AD
ฉันต้องการให้สิ่งนี้เป็นความคิดเห็น แต่ดูเหมือนว่าต้องการตัวแทน 50 คน
เพื่อเตือนคนอื่นฉันพบว่าวิธีการสร้างใหม่ไม่ได้ทำความสะอาดตัวเอง ฉันมักจะไม่จำเป็นต้องทำความสะอาดและสร้าง / สร้างใหม่หลังจากนั้นเพื่อให้ใช้งานได้ - ฉันคิดว่าการสร้างขึ้นใหม่เป็นการบังคับให้คอมไพล์เต็มรูปแบบโดยไม่ต้องทำความสะอาดและลบล้างทุกอย่าง แต่ไม่ได้กำจัดส่วนเสริมออกไป
ไม่ได้ดูว่าการสร้างโค้ดขึ้นมาใหม่เป็นเพียงการสังเกตทั่วไปในกรณีที่มีคนอื่นมีปัญหาเดียวกัน
นี่เป็นโพสต์เก่า แต่ฉันคิดว่านี่เป็นสิ่งที่ควรค่าแก่การกล่าวถึง เมื่อเขียนโค้ดสำหรับ Silverlight ฉันมักจะเปิด Blend และ VS2010 ในเวลาเดียวกัน ด้วยเหตุนี้บางครั้ง VS2010 ก็แปลกออกไปและ IntelliSense ไม่สามารถค้นหาว่าของอยู่ที่ไหนหรือบางสิ่งส่งผลให้มันเน้นข้อผิดพลาดจำนวนมากอย่างไม่ถูกต้อง
การทำความสะอาดน้ำยาช่วยแก้ปัญหานี้ได้
ลบไฟล์ที่สร้างขึ้นระหว่างกระบวนการคอมไพล์ บังคับให้คอมไพล์ / สร้างใหม่เต็มอย่างมีประสิทธิภาพในครั้งต่อไป
ระวังเมื่อคุณทำความสะอาดสารละลาย เมื่อคุณทำความสะอาดโซลูชันและหากคุณอ้างถึงไลบรารี (พูดว่า nhibernate) ในโปรเจ็กต์ของคุณและถ้าไลบรารีนั้นมีการพึ่งพา (พูดว่า iesi.collections) คุณจะเห็น iesi.collections จะถูกลบแม้ว่าคุณจะสร้างใหม่ วิธีแก้ปัญหาและคุณต้องใส่ dll นั้นลงในโฟลเดอร์ของคุณอีกครั้ง หรือคุณยังสามารถอ้างอิงถึง iesi.collections และเลือกตัวเลือก copy-local: yes จากคุณสมบัติ
FYI ทั้ง Clean หรือ Rebuild จะไม่ลบไฟล์ที่ไม่ใช่บิลด์เช่นไฟล์ที่คัดลอกระหว่างคำสั่ง pre-build ฉันสับสนเกี่ยวกับเรื่องนี้!