2010-01-22 35 views

Trả lời

11

Không có trình bao bọc cần thiết để sử dụng đối tượng COM trong .NET. Trong Visual Studio, nhấp chuột phải vào tên dự án của bạn trong Solution Explorer và chọn "Thêm tham chiếu". Mọi đối tượng COM đã đăng ký sẽ được liệt kê trong tab COM.

Trình bao bọc Interop chỉ cần thiết khi sử dụng các assembly .NET như thể chúng là các đối tượng COM - không phải là cách khác xung quanh như bạn đã mô tả trong câu hỏi của bạn.

+5

Tôi giả định bởi yêu cầu "nguồn mở" của anh ta là không sử dụng Visual Studio. –

+1

Vâng, nếu anh ấy sử dụng C# (trong .NET như câu hỏi của anh ấy, chẳng hạn như ở Mono), trong BẤT CỨ phiên bản có sẵn, anh ấy có quyền truy cập vào VS. TlbImport đã được đề cập ở nơi khác. –

4

Bạn có thể sử dụng công cụ dòng lệnh cho Type library import tool nó sẽ tạo ra một lắp ráp interop cho bạn sử dụng trong dự án của bạn.

Trình nhập thư viện kiểu chuyển đổi các định nghĩa loại được tìm thấy trong thư viện kiểu COM thành các định nghĩa tương đương trong một cụm ngôn ngữ chạy chung.

Nếu bạn đang sử dụng VS.net, bạn sẽ có thể thực hiện điều này thông qua IDE. Nếu không, tôi tin rằng công cụ này có sẵn miễn phí (theo yêu cầu nguồn mở của bạn).

+0

@David Điều đó không nhất thiết phải đúng. Sử dụng các đối số dòng lệnh khác nhau trong TLBImport, bạn có thể thay đổi cách mã trình bao bọc được tạo ra. Bạn cũng có thể sử dụng công cụ để tạo ra một PIA (Primary Interop Assembly). Bạn không thể làm điều đó chỉ với Thêm tham chiếu trong VS. – Nick

1

Còn khoảng tlbimp nhà nhập khẩu typelib thì sao? Tài liệu MSDN là here.

Hy vọng điều này sẽ hữu ích.

4

Có, mã nguồn cho Tlbimp.exe có sẵn. Tải xuống từ here...

+1

thx, đó là những gì tôi đang tìm kiếm (tôi muốn tùy chỉnh quá trình nhập một chút) –

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