17

Khi thêm DLL làm tham chiếu đến dự án ASP.Net, VS2008 sẽ thêm một số tệp vào thư mục bin. Nếu DLL được gọi là foo.dll, VS2008 thêm foo.dll.refresh, foo.pdb và foo.xml. Tôi biết những gì foo.dll là :-), tại sao VS2008 thêm ba tập tin khác? Ba tệp đó làm gì? Tôi có thể xóa chúng không? Họ có cần phải được thêm vào trong kiểm soát nguồn không?Visual Studio 2008 - Thêm tài liệu tham khảo

Trả lời

20

Nguồn điều khiển:

Ben Straub cho biết trong một bình luận cho bài viết này: Các tập tin .dll.refresh nên được bổ sung vào kiểm soát nguồn nếu có yêu cầu, trong khi .xml, .pdb và tất nhiên là .dll file không nên thêm.

John Rudy giải thích khi để thêm .refresh file:

Tại sao điều này là một điều tốt (đôi khi)? Giả sử bạn đang ở trong một môi trường nhóm . Ai đó kiểm tra mã cho foo.dll và hệ thống xây dựng của bạn tạo một tệp DLL mới, xuất nó trong một tệp chia sẻ trên máy chủ. Làm mới điểm tệp của bạn tới bản sao máy chủ đó của DLL. Lần sau khi bạn xây dựng, VS sẽ tự động lấy bản sao mới nhất và bản sao lớn nhất của tệp DLL đó.

.xml như David Mohundro nói:

tập tin XML là có để lấy ý kiến ​​XML và IntelliSense.Visual Studio sẽ phân tích cú pháp đó và hiển thị XML nhận xét đã được thêm khi bạn gọi các phương thức trong các tệp DLL đó.

PDB như David Mohundro nói:

Các pdb là có để gỡ lỗi và các biểu tượng. Nếu bạn nhận được một ngoại lệ được ném từ nó, bạn sẽ có thể nhận được ngăn xếp, v.v. Bạn kiểm soát được chọn xem PDB có được xây dựng hay không .

.refreshfrom a blog post about .refresh files:

Nó nói với VS nơi để tìm kiếm cập nhật phiên bản của dll với cùng tên cơ sở . Chúng là các tệp văn bản, bạn có thể mở chúng và xem đường dẫn đang sử dụng.

Mục đích của chúng là ngăn bạn phải tự mình sao chép phiên bản mới. Trong VS2003, tệp dự án sẽ chứa vị trí nguồn của tham chiếu , nhưng vì VS2005 không sử dụng tệp dự án cho các dự án ASP.NET , đây là thay thế cho chức năng cụ thể đó.

+1

Điều duy nhất tôi muốn thêm là các tập tin * .dll.refresh * NÊN * đi vào kiểm soát nguồn, không giống như bất cứ điều gì khác trong thư mục bin. –

+0

Đã thêm nó vào bài đăng. – xsl

+0

Về việc đưa .dll.refresh vào điều khiển nguồn - điều gì xảy ra nếu DLL không nằm trên một số máy chủ tệp, nhưng được lưu trữ cục bộ, với mỗi nhà phát triển có bản sao của riêng mình? Tôi đoán đó là lý do tại sao John Rudy nói "đôi khi" :) – OregonGhost

3

foo.pdb là tệp biểu tượng trình gỡ lỗi cho foo.dll, bạn sẽ muốn hoặc bạn sẽ không thể đặt điểm ngắt trong mã đó.

11

Pdb có sẵn để gỡ lỗi và ký hiệu. Nếu bạn nhận được một ngoại lệ ném từ nó, bạn sẽ có thể nhận stacktraces, vv Bạn đang kiểm soát việc lựa chọn có hay không PDB được xây dựng. Các tập tin xml là có cho ý kiến ​​XML và intellisense. Visual Studio sẽ phân tích cú pháp đó và hiển thị các chú thích XML đã được thêm vào khi bạn gọi các phương thức trong các tệp DLL đó.

Tôi không biết về tệp làm mới.

2

VS2008 thêm nhiều tệp vào thư mục bin [...] Chúng có cần thêm vào kiểm soát nguồn không?

Không có gì trong thư mục bin cần được thêm vào kiểm soát nguồn. Một trong những điều đầu tiên khi kiểm tra ban đầu trong một dự án là bỏ qua các thư mục bin và obj. Vì vậy, có, bạn có thể xóa các tập tin này, nhưng Visual Studio sẽ tạo lại chúng.

13

Tệp làm mới (vì chưa có ai nhấn vào đó!) Mô tả nơi tệp DLL đến từ đó. Điều này dành cho các tham chiếu tự động làm mới; bất cứ khi nào bạn làm một xây dựng đầy đủ, VS sẽ nhìn vào đường dẫn đó và sao chép phiên bản của DLL.

Tại sao đây là điều tốt (đôi khi)? Giả sử bạn đang ở trong môi trường nhóm. Ai đó kiểm tra mã cho foo.dll và hệ thống xây dựng của bạn xây dựng một tệp DLL mới, xuất nó trong một tệp chia sẻ trên máy chủ. Tệp làm mới của bạn trỏ tới bản sao máy chủ đó của tệp DLL. Lần sau khi bạn xây dựng, VS sẽ tự động lấy bản sao mới nhất và lớn nhất của tệp DLL đó.

+0

Rất tuyệt, không biết về điều đó. Cảm ơn! –

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