5

Tôi đã viết một số lượng phần mềm hợp lý trong những năm gần đây, hầu hết tất cả đều có xu hướng chia sẻ một hoặc nhiều thư viện phổ biến. (Thư viện phổ biến nhất, là thư viện mà tôi sử dụng để gọi các thủ tục lưu sẵn SQL và trả về các mảng đối tượng)Các phương pháp quản lý mã nguồn

Tôi không hài lòng với cách quản lý thư viện và tôi đang tìm kiếm các đề xuất để cải thiện cách Tôi làm.

Lần đầu tiên tôi tạo thư viện được chia sẻ, tôi đã thêm thư viện làm dự án thư viện lớp riêng biệt trong giải pháp.

Bây giờ, khi tôi bắt đầu một giải pháp mới và tôi biết tôi sẽ cần một thư viện tôi đã có, tôi sẽ đi và tìm dự án của thư viện và sao chép các tệp vào giải pháp mới.

Điều này để lại cho tôi một số bản sao của cùng một dự án thư viện rải rác xung quanh hệ thống tệp của tôi (và máy chủ SVN), và nó không cảm thấy đúng.

Có cách nào hiệu quả hơn không, vì vậy tôi chỉ có một bản sao chính của thư viện này mà tất cả các giải pháp chia sẻ, thay vì mỗi giải pháp có bản sao dự án thư viện của riêng mình?

Trả lời

5

Chỉ cần xây dựng thư viện một lần và tham chiếu đến tệp nhị phân đã biên dịch từ dự án của bạn cần sử dụng nó.

Trong phòng thu trực quan, nhấp chuột phải vào dự án và nhấp vào "thêm tham chiếu", sau đó chọn tab "duyệt" và định vị thư viện nhị phân của bạn.

(Bạn rõ ràng sẽ cần phải phân phối lắp ráp thư viện cùng với ứng dụng của bạn)

+0

Cảm ơn. Tôi không thể tin rằng tôi đã bỏ lỡ một cái gì đó rất cơ bản, sau nhiều năm làm việc trong Visual Studio. – Bryan

+0

Không chắc đây là câu trả lời hay nhất. Thêm một nhị phân có nghĩa là nếu dự án được chia sẻ thay đổi thì bạn sẽ cần phải biên dịch lại nó và sau đó biên dịch lại tất cả các giải pháp phụ thuộc có thể dẫn đến việc xây dựng các vấn đề phụ thuộc.Tôi muốn đề nghị thêm nó như là một tài liệu tham khảo dự án thay vì – zebrabox

+0

@ zebrabox: Tôi không làm theo, Đây không phải là chính xác những gì bài viết của Simon đã nêu? – Bryan

1

tôi sẽ đề nghị soạn thảo thư viện của bạn thành một dll có thể được thêm vào như là một tham chiếu đến bất kỳ dự án khác mà bạn đang làm việc. Sau đó, bạn không cần phải sao chép các tập tin nguồn ở khắp mọi nơi.

2

Cảm giác của bạn hoàn toàn đúng. Chỉ nên có một tổng thể của thư viện nguồn.

Trong cửa hàng của chúng tôi, chúng tôi có một số dự án thư viện được chia sẻ được nhiều sản phẩm sử dụng. Chúng tôi xem các thư viện này là sản phẩm và tự xử lý chúng. Cụ thể, khi một dự án cần một trong các thư viện này, chúng tôi đặt một phiên bản được biên dịch của thư viện vào một thư mục lib trong dự án. Chúng tôi loại bỏ sự cần thiết phải sao chép các nguồn xung quanh, và dự án của chúng tôi chỉ tham khảo một bản sao ổn định của dll.

Dưới đây là một cấu trúc mẫu trong kho

/LibraryX   <- product root 
    ../branches 
    ../tags 
    ../trunk   <- solution folder 
     ../LibraryX <- project folder 
     ../lib  <- thirdparty libraries used by LibraryX 

/ProductY   <- product root 
    ../branches 
    ../tags 
    ../trunk   <- solution folder 
     ../ProductY <- project folder 
     ../lib  <- thirdparty libraries 
         used by ProductY, e.g. a copy of LibraryX.dll 

Vì vậy, trong dự án ProductY, chứ không phải là bao gồm một bản sao của dự án LibraryY bạn thêm một tham chiếu đến LibraryX.dll nằm ở thư mục lib.

+0

Đó chính xác là cấu trúc mà tôi đang hướng đến. Cảm ơn nhiều. – Bryan

1

Bạn chỉ nên xây dựng một dll bằng thư viện của mình và sau đó chỉ cần tham chiếu đến nó ..

Tham khảo> Thêm tham chiếu trong VS.

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