Visual Studio (2008) Tùy chọn 'Giải pháp sạch'


Câu trả lời:


109

Nó xóa tất cả các tệp đã biên dịch và tạm thời được liên kết với một giải pháp. Nó đảm bảo rằng bản dựng tiếp theo là một bản đầy đủ, thay vì chỉ các tệp đã thay đổi được biên dịch lại.


3
Sau đó, sự khác biệt giữa "Xây dựng" và "Xây dựng lại tất cả là gì?"
Chad

2
Hãy tưởng tượng một giải pháp với 3 dự án. Build chỉ biên dịch các dự án đã thay đổi, kể từ lần xây dựng cuối cùng. Xây dựng lại, biên dịch mọi thứ.
BigJump

18
Có phải Giải pháp xây dựng lại về cơ bản giống như chạy Giải pháp sạch và sau đó Giải pháp xây dựng không?
Joey Green

5
Giải pháp xây dựng lại có thực sự làm sạch trước khi xây dựng, hay nó chỉ xây dựng mọi thứ như thể đã làm sạch trước?
Homer

2
@JoeyGreen Không. Nếu bạn giải pháp Clean and Build, trước tiên nó sẽ dọn dẹp tất cả các dự án và sau đó xây dựng tất cả các dự án. Nếu bạn xây dựng lại, nó cần một dự án tại thời điểm đó và làm sạch nó và xây dựng nó. Một lần, tôi đã gặp gỡ vấn đề lạ sử dụng Rebuild thay vì Clean & Xây dựng, bởi vì một số phụ thuộc dự án ...
relaxxx

61

Nó xóa tất cả mã đối tượng được tạo trong quá trình biên dịch / xây dựng trước đó. Nó xóa tất cả các loại tệp dưới đây: -

* .obj - mã đối tượng

* .pdb - tệp dữ liệu gỡ lỗi chương trình

* .bsc - nguồn dữ liệu trình duyệt

* .ilk - tệp trình liên kết gia tăng

* .sbr - tệp trung gian trình duyệt nguồn

* .idb - xây dựng lại tệp phụ thuộc

* .lib - tệp thư viện

* .exe - thực thi được

JFYI - Ngay cả một lệnh Rebuild All sẽ thực hiện tất cả những điều này và sau đó tiếp tục xây dựng tập hợp các tệp nguồn hoàn chỉnh.

-AD


11

Tôi muốn đây là một bình luận nhưng dường như cần 50 đại diện.

Để cảnh báo những người khác, tôi thấy giải pháp xây dựng lại không tự làm sạch. Tôi thường không cần phải dọn dẹp nó và xây dựng / xây dựng lại nó sau đó để nó hoạt động - Tôi nghĩ rằng việc xây dựng lại nó tự buộc phải biên dịch đầy đủ mà không cần dọn dẹp và ghi đè mọi thứ, nhưng không loại bỏ các tính năng bổ sung.

Không xem xét những gì xây dựng lại mã là khôn ngoan, chỉ là một quan sát chung trong trường hợp người khác gặp vấn đề tương tự.


2
Tôi đồng tình với tuyên bố này - đã thấy hành vi này nhiều lần, nơi một sạch trước khi xây dựng lại là cần thiết
Swordblaster

5

Đây là một bài viết cũ, nhưng tôi nghĩ rằng điều này là đáng nói. Khi viết mã cho Silverlight, tôi thường mở Blend và VS2010 cùng một lúc. Do đó, đôi khi VS2010 bị lỗi và IntelliSense không thể tìm thấy thứ gì đó ở đâu hoặc thứ gì đó, dẫn đến việc nó làm nổi bật rất nhiều lỗi.

Làm sạch dung dịch khắc phục điều này.


4

Xóa các tệp được tạo trong quá trình biên dịch. Hiệu quả buộc phải biên dịch lại / xây dựng đầy đủ vào lần sau.


2

cẩn thận khi bạn đang làm sạch một dung dịch; khi bạn làm sạch một giải pháp và nếu bạn tham chiếu đến một thư viện (giả sử nhibernate) trong dự án của mình và nếu thư viện đó có phần phụ thuộc (ví dụ: iesi.collections), thì bạn sẽ thấy iesi.collections sẽ bị xóa ngay cả khi bạn xây dựng lại giải pháp và bạn phải đặt lại dll đó vào thư mục của mình. hoặc bạn cũng có thể tham khảo iesi.collections và chọn tùy chọn copy-local: yes từ các thuộc tính của nó


5
Đây không phải là một vấn đề nếu bạn di chuyển tất cả các libs của bạn vào một thư mục khác cụ thể hơn 'Bin' và / hoặc sử dụng NuGet
bbqchickenrobot

chắc chắn nó không nhưng thường nó nằm với thư mục bin (bạn có thể thử nhận fluentnhibernate qua NuGet và iesi.collections là không có)
ersanbilik

0

FYI, Clean và Rebuild đều không xóa các tệp không xây dựng, ví dụ: tệp được sao chép trong lệnh tạo trước. Tôi đã nhầm lẫn về điều đó!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.