Tôi có một giải pháp nhỏ, với khoảng dưới hai mươi dự án. Giải pháp được sử dụng để chứa khoảng sáu dự án nguồn được viết bởi nhà cung cấp dịch vụ bên thứ ba, ACME. Bây giờ, cuối cùng, bên kia đang cung cấp cho chúng tôi chỉ với một số lượng tệp DLL. Tôi đã từng chỉ đưa vào nguồn của họ, một dự án cho mỗi DLL, trong giải pháp, và vì vậy tôi đang tìm kiếm một cách gọn gàng để bao gồm tất cả các hội đồng này trong giải pháp, vì vậy chúng có thể được tham chiếu từ nhiều dự án cần chúng.Cách chia sẻ nhiều tệp nhị phân giữa các dự án nguồn trong một giải pháp?
My lựa chọn ngay lập tức rõ ràng là:
- Tạo một dự án
AcmeAssembly
, thêm tất cả các DLL như hạng mục công trình thiết lập để sao chép vào đầu ra. - Tạo thư mục giải pháp
AcmeAssembly
. Nhanh hơn và đơn giản hơn dự án nguồn 'chỉ nhị phân', nhưng thư mục giải pháp có nhược điểm rất lớn, không có phương tiện nhóm các tệp mà không có tệp giải pháp, tức là bên ngoài VS. - Tạo gói NuGet bao gồm tất cả các tệp nhị phân bắt buộc. Sau đó, ít nhất chúng tôi cũng có một nhóm 'phycical' một phần trong các thư mục
packages
. Vấn đề của tôi ở đây là tôi chưa bao giờ viết một gói NuGet, nhưng tôi không hỏi làm thế nào để ở đây. Tôi hỏi về ba giải pháp ứng cử viên, và nhiều hơn nữa sẽ được chào đón, và nếu NuGet thắng, tôi sẽ học cách viết một gói.
Tôi không thể đơn giản sử dụng đầu ra của dự án bin\debug
và bin\release
thư mục. Với tôi, đây là những thư mục đầu ra nghiêm ngặt, và không có gì khác ngoài các hội đồng phụ thuộc khác cũng nên được xuất ra ở đó. Việc xóa thư mục bin
sẽ hoàn toàn không có hiệu lực đối với bản dựng, do đó chắc chắn không có nơi để lưu trữ các tệp nhị phân.
Tôi bỏ phiếu cho NuGet. Đó là cách ưa thích để phân phối các hội đồng. – Kiliman
Nuget chắc chắn. Giữ điều rất gọn gàng. –
Nó không rõ ràng. Bạn đang hỏi làm thế nào để sử dụng bên thứ 3 của bạn hoặc phân phối? Tôi đã làm việc trên các hệ thống lớn với hàng trăm dự án của bên thứ 3 và hàng trăm dự án. Chúng ta có một thư mục 'bin' nơi chúng ta' 1-'Có tất cả các dll, của chúng ta và bên thứ ba. '2-' chúng ta tham khảo tất cả chúng từ thùng này. '3-' chúng ta xây dựng tất cả các dự án cho bin này. '4-' dự án độc lập được xây dựng thành các thư mục con theo bin. - chúng tôi không bao giờ gặp vấn đề với việc biên dịch, đóng gói hoặc phân phối. Mặc dù, quá trình xây dựng của chúng tôi có sự khác biệt với các lập trình viên xây dựng quy trình –