2008-11-06 1 views
5

Tôi tự hỏi nên bao gồm những gì khi xây dựng dự án của mình. Tôi có một thư viện tôi cần tham khảo cho dự án của mình để xây dựng nhưng thư viện đó có 10 chính sách phụ thuộc. Tôi có nên tham khảo những phụ thuộc đó hay không hoặc tôi nên sao chép chúng vào thư mục đầu ra bằng cách sử dụng một sự kiện xây dựng bài viết?Phụ thuộc và tham chiếu - Tôi nên tham khảo chính xác những gì?

Phương pháp hay nhất là gì?

Tôi thấy khó hiểu khi bao gồm tất cả các phụ thuộc đó khi dự án biên dịch tốt mà không có chúng - chúng có được gọi là phụ thuộc thời gian chạy không? Tài liệu tham khảo của tôi trở nên lộn xộn với các phụ thuộc không liên quan đến dự án của tôi mặc dù chúng được sử dụng trong một số thư viện mà tôi đưa vào.

Tôi đang sử dụng Visual Studio.

Ai đó có thể vui lòng cho tôi một số thông tin chi tiết về cách thực hiện quyền này.

Cảm ơn.

Trả lời

1

Bạn chỉ cần thêm tài liệu tham khảo được dự án của bạn sử dụng trực tiếp.

Đối với các hội đồng riêng (không có trong GAC), Visual Studio sẽ sao chép các assembly được tham chiếu (và các phụ thuộc của chúng) vào thư mục đầu ra của dự án của bạn.

Đối với các hội đồng trong GAC Visual Studio không sao chép hội đồng được tham chiếu vào thư mục đầu ra của dự án của bạn theo mặc định.

Trong cả hai trường hợp, bạn có thể thay đổi hành vi bằng cách thay đổi thuộc tính tham chiếu "Sao chép cục bộ".

IMHO, đây là một tính năng tiện lợi của môi trường xây dựng. Trong thế giới không được quản lý, bạn có thể theo dõi các phụ thuộc của phụ thuộc (thường là thông qua các sự kiện trước hoặc sau khi xây dựng).

2

Chỉ là ý kiến. Dù bằng cách nào cũng sẽ hoạt động.

Cá nhân tôi ghét các tệp BAT sau xây dựng, vì vậy tôi sẽ bao gồm các phụ thuộc để sao chép chúng vào thư mục đầu ra.

Một tùy chọn khác là đặt liên kết đến chúng trong dự án của bạn - như trong thư mục tài nguyên. Đặt bộ này thành BuildAction = None và CopyToOutputDirectory = CopyIfNewer

1

Tôi cho rằng bạn đang làm việc trong Visual Studio.

Câu trả lời ngắn gọn là chỉ bao gồm các hội đồng cần thiết để dự án của bạn biên dịch.

Tham khảo thêm các hội đồng không được gây ra bất kỳ sự cố nào, vì ứng dụng của bạn sẽ tải các hội đồng khi cần vào thời gian chạy, nhưng có danh sách dài các tham chiếu có thể gây nhầm lẫn và lộn xộn.

Danh sách tham chiếu của bạn nên cho biết chương trình của bạn hoạt động như thế nào và chức năng của chương trình.

+0

Vì vậy, bạn khuyên bạn nên sử dụng các sự kiện xây dựng bài đăng hoặc một số cách khác để cung cấp phụ thuộc thời gian chạy cho các thư viện mà tôi đang tham chiếu? – Fadeproof

+0

Vâng, đó là một vấn đề của hương vị thực sự. Nếu hội đồng của bạn đang ở trong GAC bạn không cần phải làm bất cứ điều gì, nhưng tôi không muốn làm lộn xộn dự án. –

+1

Không có trong GAC vì vậy trong trường hợp đó tôi nên sử dụng sự kiện sau xây dựng? – Fadeproof