Có công cụ nguồn mở nào để tự động tạo trình bao bọc .NET cho thư viện COM DLL không?Công cụ tạo trình bao bọc .NET cho một DLL COM?
Trả lời
Bạn có thể thử sử dụng SWIG để có thể tạo mã trình bao bọc cho 18 languages. Ngoài ra this MSDN article có thể hữu ích.
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.
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. –
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. –
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).
@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
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.
Có, mã nguồn cho Tlbimp.exe có sẵn. Tải xuống từ here...
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) –
- 1. Trình bao bọc C# cho kernel32.dll API
- 2. Có thư viện trình bao bọc hoàn chỉnh user32.dll có sẵn cho .NET không?
- 3. Chuyển hướng đầu ra STDERR từ trình bao bọc đối tượng COM trong .NET
- 4. Trình bao bọc .NET cho chức năng API của Windows
- 5. Có trình bao bọc .NET/C# cho SQLite không?
- 6. Lớp trình bao bọc cho IStream COM interop đã tồn tại chưa?
- 7. C Trình bao bọc cho C++
- 8. Đăng ký một NET COM DLL trong Wix Install
- 9. . Trình bao bọc mạng cho API Perforce?
- 10. Có một trình bao bọc giống ORM cho memcached
- 11. Đăng ký một C#/VB.NET COM dll theo lập trình
- 12. Tôi làm cách nào để tạo một trình bao bọc?
- 13. Chức năng trình bao bọc cho IndexedDB
- 14. Tạo một DLL COM có thể truy cập
- 15. Trình bao bọc C++ dành cho ncurses?
- 16. Lực lượng .NET interop sử dụng COM DLL cục bộ
- 17. Trình bao bọc dịch vụ web
- 18. Tạo một DLL từ một tệp cpp bọc với SWIG
- 19. Làm cách nào để tạo một .dll được tạo bằng IKVM com?
- 20. Công cụ STEP/EXPRESS cho .NET
- 21. Viết trình bao bọc được quản lý cho Chromium
- 22. Tạo một trình bao bọc Python cho thuật toán của tôi sử dụng Opencv 2.3
- 23. công cụ cần thiết cho lập trình .net?
- 24. HOWTO: Viết trình bao bọc API Python?
- 25. Trình bao bọc đối tượng iOS-C cho Google Documents
- 26. Trình bao bọc .NET tốt nhất cho Google Maps hoặc Yahoo Maps?
- 27. Tôi có thể tạo một cửa sổ thông thường DLL (cho một plugin) trong .NET không?
- 28. Làm cách nào để tạo trình bao bọc/proxy XMLHttpRequest?
- 29. Có một trình bao bọc tốt xung quanh ILGenerator không?
- 30. Trình bao bọc C# cho các đối tượng
Hãy nói lý do bạn cần nó làm nguồn mở. –