Tôi có tệp tiêu đề và tệp .lib được tạo bằng C++.Sử dụng tệp .lib trong chương trình C#
Bây giờ tôi muốn sử dụng nó trong chương trình C#. Điều này có thể không?
Tôi có tệp tiêu đề và tệp .lib được tạo bằng C++.Sử dụng tệp .lib trong chương trình C#
Bây giờ tôi muốn sử dụng nó trong chương trình C#. Điều này có thể không?
Không có trình liên kết truyền thống để cho phép bạn nhập lib. Đặt cược tốt nhất của bạn là biên dịch vào thư viện COM và sử dụng interop để sử dụng nó.
Không trực tiếp. Bạn có thể tương thích với các DLL không được quản lý thông qua P/Invoke, hoặc các assembly chế độ hỗn hợp bằng cách sử dụng C++/CLI. Dù bằng cách nào, bạn sẽ phải tạo ra một dự án wrapper, hoặc biên dịch lại bản gốc .lib (nếu bạn có các nguồn) thành DLL.
Bạn có thể tạo một quản lý wrapper, xem từng bước hướng dẫn ở đây:
Tôi không biết về một tập tin lib. Nhưng tôi biết nếu bạn biên dịch mã của bạn như là một DLL bạn có thể tiêu thụ nó như là mã không được quản lý.
Để làm điều này bạn sẽ cần phải tham khảo
System.Runtime.InteropServices
và bạn sẽ cần phải xác định phương thức mà bạn muốn sử dụng và cung cấp cho nó các thuộc tính DllImport. Một cái gì đó như thế này:
[DllImport("MyCPPDll.dll")]
public void SomeMethod(int someParameter);
Dưới đây là một số liên kết mà sẽ giúp điểm bạn đi đúng hướng:
http://msdn.microsoft.com/en-us/library/26thfadc(v=vs.100).aspx
thể trùng lặp của [Làm thế nào để sử dụng \ * lib. trong ứng dụng C#?] (http://stackoverflow.com/questions/2848193/how-to-use-lib-file-in-c-sharp-application) – tafa