Sự khác biệt thực sự giữa hai tùy chọn này là gì? Những gì tôi biết là:"Đăng ký COM Interop" vs "Hiển thị COM lắp ráp"
Đăng ký cho COM Interop
tùy chọn này thực thi regasm về lắp ráp và đăng ký lắp ráp như một thành phần COM (hoặc có thể không) trong registry với tất cả COM như các khóa registry. Bước này có tạo tệp TLB không? Còn gì nữa?
Thỉnh thoảng tôi thấy một tlb được tạo khi tôi biên dịch dự án nhưng đôi khi không, tại sao lại như vậy?
Thực hiện lắp ráp COM hiển thị
Hiệu ứng này có ảnh hưởng gì đến một hội đồng? Nếu tôi có các loại sau đây bên trong hội đồng này, tôi vẫn cần phải xác định "Hãy lắp ráp COM Visible" mặc dù loại của tôi được đánh dấu là ComVisible?
[GuidAttribute("02810C22-3FF2-4fc2-A7FD-5E103446DEB0"), ComVisible(true)]
public interface IMyInterface
{
}
+1. Tôi đoán một lý do nữa cho lý do tại sao nó là tùy chọn là bạn không luôn luôn cần phải đăng ký lắp ráp trên máy chủ xây dựng hàng ngày của bạn. Ví dụ, bạn trưng ra một assembly C# đến COM và tiêu thụ nó từ C++ thông qua chỉ thị '# import' rất vui khi sử dụng tệp .tlb. – sharptooth
+1: Tôi nghĩ rằng "tất cả các loại trong assembly [ComVisible]" bạn có nghĩa là * tất cả các loại công cộng * bởi vì các loại công cộng là những gì tôi thấy trong TLB xuất khẩu. – A9S6
Cảm ơn, nhận xét đã được hợp nhất vào câu trả lời. –