2010-04-08 40 views

Trả lời

10

Có, tôi thường làm điều này mọi lúc. Như Harry đã nói, nó làm giảm việc sử dụng dung lượng đĩa. Điều đó thực sự không phải là một vấn đề lớn đối với tôi, vì không gian đĩa cực rẻ, nhưng nó có thể là một mối quan tâm đối với bạn. Lý do thực sự tôi làm nó tốt hơn để phản ánh những gì triển khai sẽ như thế nào. Cách tốt nhất để làm điều này là để có một property sheet sửa đổi thư mục đầu ra thành $(SolutionDir)/build/bin. Sau đó, tôi đặt thư mục làm việc thành $(SolutionDir)/build, là toàn bộ cấu trúc giống hệt với cấu trúc sẽ được triển khai, thay vì để nó trải ra trong các thư mục dự án khác nhau.

build 
|-- bin 
| |-- foo.exe 
| |-- libfoo.dll 
| `-- libbar.dll 
|-- plugins 
| |-- extender.py 
| `-- something.lua 
`-- skins 
    |-- default.skin 
    `-- white-and-gold.skin 

Nhìn chung, có một thư mục riêng biệt cho những thứ được xây dựng (chứ không phải là nguồn) là một điều tốt. Nó dễ dàng viết các bước xây dựng tùy chỉnh, vì bạn biết nơi đầu ra cuối cùng sẽ được và giảm bớt tích hợp với hệ thống kiểm soát phiên bản của bạn, vì bạn chỉ có thể đặt nó để bỏ qua toàn bộ thư mục đó, thay vì đi xung quanh thiết lập ignore cho tất cả .exe, .lib, .so , .dll và mọi thứ cho mọi thư mục nhỏ.

+0

Cũng giống như một lưu ý, điểm thực của tôi là nhiều hơn về thời gian mà Visual Studio đang thực hiện để sao chép cùng một tệp với các phụ thuộc phức tạp - lượng dung lượng đĩa là loại phụ trợ. Nhưng tôi đoán cách tôi nói câu trả lời của tôi đã cho về trọng lượng bằng nhau cho mỗi. –

2

Lý do chính tôi thay đổi thư mục đầu ra của mình là cắt giảm số lượng các bản sao trùng lặp và số lượng bản sao tệp mà Visual Studio tạo ra. Nếu dự án A tham chiếu dự án B, và dự án C tham chiếu dự án A và B thì Studio phải xây dựng A, sao chép A sang B và xây dựng B, sau đó sao chép A và B sang C và tạo C. Bạn hiện có 3 bản sao A, hai bản sao của B lắp ráp, và một trong C. Chỉ đầu ra cho một thư mục duy nhất, Visual Studio chỉ đơn giản là xây dựng A, sau đó B, sau đó C. Một bản sao của mỗi. Bạn có thể tưởng tượng lượng không gian đĩa và thời gian được tiêu thụ cho một bản xây dựng như thế nào khi số dự án và sự phức tạp của các phụ thuộc tăng lên.

0

Ví dụ: tôi có một tệp updater.exe được cho là được phân phối bằng chương trình "khác". Vì vậy, tôi thiết lập đường dẫn xây dựng cho các chương trình "khác" xây dựng đường dẫn. Bằng cách đó tôi biết tôi allways có mới nhất "updater.exe", nơi nó nên được.

Đó chỉ là một lý do.

Các vấn đề liên quan