2008-10-03 6 views
6

Có ai có tài nguyên tốt trên dll và cách chúng được sử dụng/tạo trong Visual Studio không? Một vài câu hỏi tôi khá mơ hồ về cụ thể là:Hiểu các dll và cách chúng hoạt động trong Visual Studio

  • file Làm thế nào refresh làm việc
  • Làm thế nào dll số phiên bản được tạo ra
  • Sự khác biệt giữa cách thêm một tài liệu tham khảo của dự án vs duyệt web cho dll cụ thể

Mọi mẹo khác đều được chào đón.

Trả lời

5

Xem câu hỏi trên DLL information đối với một số nền.

Số phiên bản cho DLL không được quản lý được lưu trữ trong tệp rc của DLL, giống như đối với một exe. Đối với DLL quản lý tôi tin rằng nó sử dụng AssemblyFileInfo thuộc tính, thường là trong AssemblyInfo.cs cho một dự án Visual Studio tạo:

[assembly: AssemblyFileVersion("1.0.0.0")] 

Nếu bạn thêm các tài liệu tham khảo của dự án sau đó VS sẽ có thể sao chép các hương vị đúng (debug/release) của hội đồng được tham chiếu đến thư mục đầu ra của bạn. Nó cũng có thể sử dụng thông tin này để ngầm thêm một sự phụ thuộc giữa các dự án để nó xây dựng sau đó theo thứ tự đúng.

10

NET DLL của

Thuật ngữ chung cho một NET DLL là một lắp ráp. Chúng là một đơn vị nguyên tử duy nhất của việc triển khai và bao gồm một hoặc nhiều mô-đun CLR '(cho hầu hết các nhà phát triển thường chỉ là một trừ khi chúng kết hợp đầu ra trình biên dịch từ hai hoặc nhiều ngôn ngữ ví dụ). Các tập hợp chứa cả mã CIL và siêu dữ liệu CLR, chẳng hạn như tệp kê khai assembly.

.refresh tập tin

file .refresh chỉ đơn giản là các file văn bản mà nói VS nơi để kiểm tra mới được xây dựng của dll tham chiếu. Chúng được sử dụng trong các dự án web dựa trên tệp mà không có tệp dự án để lưu trữ thông tin này.

Version số

số phiên bản .NET hội được tạo ra bởi một hội đồng scoped AssemblyVersion thuộc tính mà thường được tìm thấy trong một file nguồn có tên là 'AssemblyInfo.cs' (tìm thấy dưới một thư mục dự án có tên 'Properties' từ VS2005 trở đi). số phiên bản được bao gồm major.minor.build.revision, ví dụ -

[assembly: AssemblyVersion ("1.0.0.0")]

AssemblyVersion được sử dụng như một phần của bản sắc của một lắp ráp (ví dụ trong mạnh mẽ của nó tên) và đóng một vai trò quan trọng trong quá trình ràng buộc và trong các quyết định chính sách phiên bản.

Ví dụ nếu tôi có hai hội đồng cùng tên trong GAC thì thuộc tính AssemblyVersion sẽ phân biệt chúng với mục đích tải phiên bản cụ thể của hội đồng.

số AssemblyVersion thể được cố định và tăng lên bằng tay hoặc bạn có thể cho phép trình biên dịch để tạo ra việc xây dựng và điều chỉnh số lượng cho bạn bằng cách xác định:

[assembly: AssemblyVersion ("1.0.. * ")] - tạo xây dựng và sửa đổi số
[assembly: AssemblyVersion (" 1.0.0 * ")] - tạo revision number

Nếu thuộc tính AssemblyVersion là không có mặt thì số mặc định phiên bản để '0.0. 0.0.

giá trị của thuộc tính AssemblyVersion trở thành một phần của biểu hiện của một lắp ráp, giá trị thuộc tính AssemblyFileVersion không.

thuộc tính AssemblyFileVersion được sử dụng để nhúng một tập tin phiên bản Win32 vào DLL. Nếu đây không phải là hiện tại sau đó AssemblyVersion được sử dụng. Nó không mang về cách .NET bộ tải/phân giải sembly chọn phiên bản của một assembly cần tải.

Tài liệu tham khảo dự án vs Browsing Đối với DLL

Nếu bạn đang thêm một dự án tham khảo nó có nghĩa là dự án tham chiếu sẽ là một phần của giải pháp của bạn. Điều này làm cho việc gỡ lỗi đơn giản hơn bằng cách có thể bước trực tiếp vào mã của dự án được tham chiếu của bạn. Nếu bạn chỉ thêm một tham chiếu dll thì bạn không có lợi ích của dự án là một phần của giải pháp và có thể bước vào mã trong giải pháp.