Tôi có một tệp giải pháp c # lớn (~ 100 dự án) và tôi đang cố gắng cải thiện thời gian xây dựng. Tôi nghĩ rằng "Sao chép cục bộ" là lãng phí trong nhiều trường hợp đối với chúng tôi, nhưng tôi tự hỏi về các thực tiễn tốt nhất.
Trong .sln của chúng tôi, chúng tôi có ứng dụng A tùy thuộc vào cụm B phụ thuộc vào lắp ráp C. Trong trường hợp của chúng tôi, có hàng tá "B" và một số ít "C". Vì tất cả đều được bao gồm trong .sln, chúng tôi đang sử dụng các tham chiếu dự án. Tất cả các hội đồng hiện đang xây dựng thành $ (SolutionDir) / Gỡ lỗi (hoặc Phát hành).
Theo mặc định, Visual Studio đánh dấu các tham chiếu dự án này là "Sao chép cục bộ", dẫn đến mọi "C" được sao chép vào $ (SolutionDir) / Gỡ lỗi một lần cho mỗi "B" được xây dựng. Điều này có vẻ lãng phí. Điều gì có thể sai nếu tôi tắt "Sao chép cục bộ"? Những người khác với hệ thống lớn làm gì?
THEO SÁT:
Rất nhiều câu trả lời đề nghị chia nhỏ bản dựng thành các tệp .sln nhỏ hơn ... Trong ví dụ trên, tôi sẽ xây dựng các lớp nền tảng "C" trước, sau đó là phần lớn các mô-đun "B", sau đó là một vài ứng dụng, " Một ". Trong mô hình này, tôi cần có các tham chiếu phi dự án đến C từ B. Vấn đề tôi gặp phải là "Gỡ lỗi" hoặc "Phát hành" được đưa vào đường dẫn gợi ý và tôi kết thúc việc xây dựng các bản dựng "B" của mình. chống lại các bản dựng gỡ lỗi của "C".
Đối với những người chia phần xây dựng thành nhiều tệp .sln, làm thế nào để bạn quản lý vấn đề này?
<Private>True</Private>
trong csproj không?
.sln
nhỏ hơn sẽ phá vỡ tính toán phụ thuộc tự động của VS về <ProjectReference/>
s. Bản thân tôi đã chuyển từ nhiều người nhỏ .sln
hơn sang một người lớn .sln
chỉ vì VS gây ra ít vấn đề hơn theo cách của So Vì vậy, có lẽ việc theo dõi đang giả định một giải pháp không nhất thiết phải tốt nhất cho câu hỏi ban đầu? ;-)