Giống như hầu hết các cửa hàng chúng tôi có một nhóm người làm việc trên các dự án khác nhau mà tất cả đều cần truy cập vào cùng một thông tin cốt lõi và chức năng liên quan đến doanh nghiệp của chúng tôi, thường là trong C#. Chúng tôi hiện đang chỉ sao chép các lớp phổ biến từ dự án đến dự án, nhưng mọi người bắt đầu có hương vị riêng của họ và chúng tôi muốn củng cố.Cách tốt nhất để tạo các thư viện chia sẻ có sẵn cho nhiều ứng dụng là gì?
Chúng tôi sử dụng Tortoise SVN và đã quyết định duy trì một dự án riêng biệt để chứa các lớp chung của chúng tôi, nhưng không chắc chắn cách tốt nhất để triển khai mã chung này cho các ứng dụng khác nhau của chúng tôi. Chúng tôi làm việc cho một cửa hàng CNTT nội bộ có thể quyết định mọi thứ về cách người dùng truy cập vào các ứng dụng, chúng tôi không phải lo lắng về việc phát hành sản phẩm của mình vào thế giới thực.
Một số suy nghĩ của chúng tôi đã:
- Biên soạn các lớp học thành một DLL đơn và nạp nó vào Global Assembly Cache (GAC)
- Biên soạn các lớp học thành một DLL đơn và lưu nó vào một ổ đĩa chia sẻ tập trung được tham chiếu bởi tất cả các dự án khác
- Biên dịch các lớp thành một DLL duy nhất và bao gồm nó trong mỗi dự án
- Chỉ tìm nạp các lớp mới nhất khi bắt đầu dự án, nhưng không có thư viện chia sẻ trung tâm (giải thích của chúng tôi về điều này: http://www.yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html)
- SVN Externals http://svnbook.red-bean.com/en/1.0/ch07s03.html
Tôi biết đây là một vấn đề phổ biến, và nếu bạn dành nhiều thời gian bất kỳ nhìn vào những hoặc khác tùy chọn, bạn luôn tìm thấy những người giải thích những cạm bẫy của từng phương pháp (phiên bản, kiểm tra hồi quy , "DLL Hell", "GAC sucks", v.v ...). Tôi khó có thể tìm thấy bất cứ ai nói về những gì WORKS và tại sao. Có phương pháp ưu tiên nào không?
Bằng cách 'sao chép các lớp phổ biến', điều đó có nghĩa là bạn đang tạo tệp .cs mới trong dự án và sao chép dữ liệu từ lớp bạn muốn vào tệp .cs mới? – docmanhattan
@docmanhattan i có nghĩa là sao chép các tệp .cs và thêm chúng vào các dự án mới – kscott