Tôi đã tạo đối tượng COM với C# ngày hôm qua, dẫn đến ba tệp trong thư mục bin/release của dự án VS 2010 của tôi (comclass.dll, comclass.pdb và comclass.tlb). Bây giờ, khi tôi xây dựng giải pháp trong dự án, VS đăng ký lớp cho tôi tự động trên PC phát triển và tôi không gặp vấn đề gì khi truy cập đối tượng COM và các phương thức của nó từ, hãy nói, Powershell. Tuy nhiên, khi tôi sao chép ba tệp vào một máy khác và cố gắng đăng ký dll bằng regsvr32, nó cho tôi biết rằngĐăng ký một đối tượng COM được tạo với VS C# 2010
mô-đun "comclass.dll" đã được tải nhưng không tìm thấy máy chủ DllRegisterServer nhập.
Đảm bảo rằng "comclass.dll" là tệp DLL hoặc OCX hợp lệ và sau đó thử lại.
Sử dụng regasm
với thông số /tlb
trên tệp .tlb cho tôi một thông báo tương tự. Vì vậy, tôi hơi bối rối. Bất cứ ai cũng biết làm thế nào tôi nên tiến hành từ đây?
Cảm ơn Joe. C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> regasm c: \ comtest \ comclass.dll/tlb/nologo/codebase Các loại đăng ký thành công Assembly được xuất sang 'c: \ comtest \ comclass.tlb', và thư viện loại đã được đăng ký thành công. Chính xác những gì tôi muốn. Sẽ đưa điều này vào blog của tôi. Cảm ơn một lần nữa. – deutschZuid