2010-04-01 25 views
9

Tôi có một lớp truy cập dữ liệu (DAL) được viết bằng ASP.NET 3.5 và sử dụng các mẫu của Microsoft & thư viện thực hành (sau đây gọi là P & P) để thực hiện truy cập dữ liệu của nó. Tôi đã cài đặt P & P và nó nằm trong GAC của tôi, vì vậy, một cách hợp lý, DAL của tôi tham chiếu nó trong GAC. Do đó, các thư viện P & P không bao giờ được kéo xuống thư mục bin của DAL của tôi.Để GAC, hoặc không để GAC?

Tôi sử dụng dự án DAL này trong ít nhất năm (thậm chí nhiều hơn thế, nhưng tôi quá lười biếng để cố gắng đếm tất cả) các trang web khác nhau. Và điều này đã làm việc tốt cho tôi bởi vì tôi là nhà phát triển duy nhất làm việc trên các trang web này.

Nhưng bây giờ tôi có các nhà phát triển khác, những người sẽ làm việc trên một số trang web này.

Vấn đề: nếu nhà phát triển kéo dự án DAL xuống từ kho mã của chúng tôi, nó sẽ không xây dựng cho họ nếu họ không cài đặt thư viện P & P.

Câu hỏi của tôi: tôi nên mong đợi các nhà phát triển để cài đặt các thư viện P P &, hoặc nên tôi chỉ đổ chúng trong thư mục bin và được thực hiện với nó?

Tôi nhận ra rằng việc đưa chúng vào thư mục bin có lẽ là cách dễ nhất để giải quyết vấn đề, nhưng tôi chưa bao giờ là người hâm mộ lớn của thư mục bin nếu tôi có thể tham khảo chúng trong GAC.

+0

họ có phải thay đổi mã DAL không? – Nix

+0

Không, họ sẽ không. Tôi nghĩ tôi thấy bạn đang đi đâu với câu hỏi này. Tôi đã xem xét việc biên dịch nó thành DLL riêng của nó. – Jagd

+0

Cảm ơn tất cả các ý kiến ​​về điều này.Thành thật mà nói, tôi không nghĩ rằng có một câu trả lời đúng cho câu trả lời này, bởi vì nó dường như chủ yếu dựa trên những gì mà nhà phát triển ưu tiên. Tuy nhiên, tôi đã đánh dấu câu trả lời được bình chọn nhiều nhất là câu trả lời đúng. – Jagd

Trả lời

9

Đây là sở thích chủ yếu về phong cách cho nhóm làm việc cụ thể của bạn. Tôi có xu hướng ưu tiên các trang web đóng gói giống như cách tôi đóng gói các ứng dụng khách: với tất cả các tệp nhị phân không phải của .NET trong thư mục bin, làm việc với giả định rằng bất kỳ máy nào mà chúng được sao chép vào/cài đặt sẽ không có bất kỳ thứ gì trong GAC. Nhóm của tôi tại nơi làm việc giữ cho các hội đồng bên thứ ba của chúng tôi kiểm soát nguồn dưới dạng tệp nhị phân và được gắn thẻ là phụ thuộc tham chiếu để mọi người làm việc trên cùng một trang với cùng một tệp nhị phân và chúng tôi không bao giờ phải lo lắng về sự khác biệt cài đặt giữa các máy của nhà phát triển.

GAC có thể là một cơ chế tiết kiệm không gian thuận tiện, nhưng tôi thích sự nhất quán giữa các môi trường nhà phát triển được cung cấp bởi "nội tuyến" các tệp.

1

Đã từng làm việc với các dự án có phụ thuộc GAC trong quá khứ, các dự án luôn khó hiểu và khó cấu hình chính xác, gây ra mọi sự chậm trễ chỉ mới bắt đầu. Nó có thể trở thành một vấn đề lớn hơn khi bạn phát triển các phiên bản mới của DAL. Điều này có thể đã làm việc tốt khi bạn ở nơi solo nhưng tôi thực sự sẽ xem xét việc đổ rác ngay bây giờ mà bạn có một đội lớn hơn.

0

Tôi nghĩ bạn nên cung cấp cho họ tùy chọn để thực hiện cả hai.

Đối với những người lười biếng cung cấp các tệp DLL trang cũng như DLL DAL đã ký. Đối với các kinh nghiệm hơn cho phép họ xây dựng nó, chỉ cần chắc chắn rằng họ biết rằng họ cần P & P và bất kỳ thay đổi nào đối với DLL sẽ cần phải được gacced.

Tôi luôn ưu tiên các thư viện được chia sẻ đặc biệt ở phía máy chủ. Đối với khách hàng tôi thường muốn đóng gói trong thùng rác.

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