Visual Studio (2008) ตัวเลือก 'Clean Solution'


คำตอบ:


109

จะลบไฟล์ที่คอมไพล์และไฟล์ชั่วคราวทั้งหมดที่เกี่ยวข้องกับโซลูชัน ช่วยให้มั่นใจได้ว่าบิลด์ถัดไปเป็นแบบเต็มแทนที่จะคอมไพล์ใหม่


3
แล้ว "Build" กับ "Rebuild All" ต่างกันอย่างไร?
ชาด

2
ลองนึกภาพวิธีแก้ปัญหาด้วย 3 โครงการ บิลด์คอมไพล์เฉพาะโปรเจ็กต์ที่มีการเปลี่ยนแปลงตั้งแต่บิลด์ล่าสุด สร้างใหม่รวบรวมทุกอย่าง
BigJump

18
Rebuild Solution โดยพื้นฐานแล้วเหมือนกับการรัน Clean Solution และ Build Solution หรือไม่
Joey Green

5
Rebuild Solution ทำ Clean ก่อนสร้างจริงหรือไม่หรือแค่สร้างทุกอย่างราวกับว่า Clean เคยทำก่อน?
Homer

2
@JoeyGreen ไม่หากคุณทำความสะอาดและสร้างโซลูชันขั้นแรกจะทำความสะอาดโครงการทั้งหมดจากนั้นจึงสร้างโครงการทั้งหมด หากคุณสร้างใหม่จะใช้เวลาหนึ่งโครงการในเวลานั้นและทำความสะอาดและสร้างขึ้น ครั้งหนึ่งฉันพบปัญหาแปลก ๆ ในการใช้ Rebuild แทน Clean & Build เนื่องจากการอ้างอิงโครงการบางอย่าง ...
relaxxx

61

จะลบรหัสออบเจ็กต์ทั้งหมดที่สร้างขึ้นระหว่างการคอมไพล์ / บิลด์ก่อนหน้านี้ มันจะลบไฟล์ประเภทด้านล่างทั้งหมด: -

* .obj - รหัสวัตถุ

* .pdb - ไฟล์ฐานข้อมูลการดีบักของโปรแกรม

* .bsc - ฐานข้อมูลเบราว์เซอร์ต้นทาง

* .ilk - ไฟล์ลิงค์เกอร์ที่เพิ่มขึ้น

* .sbr - ไฟล์กลางของเบราว์เซอร์ต้นทาง

* .idb - สร้างไฟล์อ้างอิงใหม่

* .lib - ไฟล์ไลบรารี

* .exe - ปฏิบัติการ

JFYI - แม้แต่คำสั่ง Rebuild All ก็สามารถทำสิ่งนี้ได้ทั้งหมดจากนั้นไปสร้างไฟล์ต้นฉบับที่สมบูรณ์

-AD


11

ฉันต้องการให้สิ่งนี้เป็นความคิดเห็น แต่ดูเหมือนว่าต้องการตัวแทน 50 คน

เพื่อเตือนคนอื่นฉันพบว่าวิธีการสร้างใหม่ไม่ได้ทำความสะอาดตัวเอง ฉันมักจะไม่จำเป็นต้องทำความสะอาดและสร้าง / สร้างใหม่หลังจากนั้นเพื่อให้ใช้งานได้ - ฉันคิดว่าการสร้างขึ้นใหม่เป็นการบังคับให้คอมไพล์เต็มรูปแบบโดยไม่ต้องทำความสะอาดและลบล้างทุกอย่าง แต่ไม่ได้กำจัดส่วนเสริมออกไป

ไม่ได้ดูว่าการสร้างโค้ดขึ้นมาใหม่เป็นเพียงการสังเกตทั่วไปในกรณีที่มีคนอื่นมีปัญหาเดียวกัน


2
ฉันเห็นด้วยกับคำแถลงนี้ - เคยเห็นพฤติกรรมนี้หลายครั้งที่ต้องทำความสะอาดก่อนสร้างใหม่
Swordblaster

5

นี่เป็นโพสต์เก่า แต่ฉันคิดว่านี่เป็นสิ่งที่ควรค่าแก่การกล่าวถึง เมื่อเขียนโค้ดสำหรับ Silverlight ฉันมักจะเปิด Blend และ VS2010 ในเวลาเดียวกัน ด้วยเหตุนี้บางครั้ง VS2010 ก็แปลกออกไปและ IntelliSense ไม่สามารถค้นหาว่าของอยู่ที่ไหนหรือบางสิ่งส่งผลให้มันเน้นข้อผิดพลาดจำนวนมากอย่างไม่ถูกต้อง

การทำความสะอาดน้ำยาช่วยแก้ปัญหานี้ได้


4

ลบไฟล์ที่สร้างขึ้นระหว่างกระบวนการคอมไพล์ บังคับให้คอมไพล์ / สร้างใหม่เต็มอย่างมีประสิทธิภาพในครั้งต่อไป


2

ระวังเมื่อคุณทำความสะอาดสารละลาย เมื่อคุณทำความสะอาดโซลูชันและหากคุณอ้างถึงไลบรารี (พูดว่า nhibernate) ในโปรเจ็กต์ของคุณและถ้าไลบรารีนั้นมีการพึ่งพา (พูดว่า iesi.collections) คุณจะเห็น iesi.collections จะถูกลบแม้ว่าคุณจะสร้างใหม่ วิธีแก้ปัญหาและคุณต้องใส่ dll นั้นลงในโฟลเดอร์ของคุณอีกครั้ง หรือคุณยังสามารถอ้างอิงถึง iesi.collections และเลือกตัวเลือก copy-local: yes จากคุณสมบัติ


5
นี่ไม่ควรเป็นปัญหาหากคุณย้าย libs ทั้งหมดของคุณไปยังโฟลเดอร์เฉพาะอื่นที่ไม่ใช่ 'Bin' และ / หรือใช้ NuGet
bbqchickenrobot

แน่ใจว่าไม่ได้ แต่โดยปกติจะอยู่ในโฟลเดอร์ bin (คุณสามารถลองรับ fluentnhibernate ผ่าน nuget และ iesi.collections ไม่มี)
ersanbilik

0

FYI ทั้ง Clean หรือ Rebuild จะไม่ลบไฟล์ที่ไม่ใช่บิลด์เช่นไฟล์ที่คัดลอกระหว่างคำสั่ง pre-build ฉันสับสนเกี่ยวกับเรื่องนี้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.