Tôi có một giải pháp với dự án dll C++ và dự án C# sử dụng nó. Vấn đề là đường dẫn xây dựng của dự án C++ nằm trong thư mục giải pháp và C# nằm trong thư mục bin
của dự án (mỗi thư mục lồng nhau với gỡ lỗi/giải phóng), do đó, DllImport
không tìm thấy chúng.
Có cách nào tiêu chuẩn để sửa lỗi này không?C#/C++ trong cùng một giải pháp - DllImport không tìm thấy DLL
Trả lời
Cách bạn phải làm điều này là đặt đường dẫn xây dựng cho cả hai dự án vào cùng một thư mục 'bin' ... tốt nhất là một giải pháp chứ không phải dự án. Sau đó, chỉ cần tạo tất cả các dự án xây dựng cho một thư mục đó. Bạn có thể thay đổi điều đó từ cài đặt Project.
Kỹ thuật khác là sử dụng bước sau khi xây dựng cho ứng dụng C++ sao chép tệp DLL vào thư mục của dự án C#. Bằng cách đó bạn không thực sự thay đổi bất kỳ đường dẫn nào. Bạn chỉ cần sao chép qua một DLL. Hãy cẩn thận ở đây mặc dù bởi vì khi bạn làm sạch dự án của tập tin C++, bạn có thể vẫn còn có bản sao trong thư mục bin C# projec'ts để bạn gãi đầu vì sao mọi thứ không xảy ra như mong đợi.
Cách khác, bạn có thể triển khai DLL C++ vào đường dẫn hệ thống (cũng như một phần của bước xây dựng) nhưng bạn sẽ có cùng các vấn đề như đã nêu ở trên.
Để gỡ lỗi, tôi khuyên bạn nên thực hiện theo thứ tự được trình bày.
- 1. DllImport không thể tìm thấy dll ngay cả khi dll nằm trong cùng thư mục với tập tin thực thi
- 2. Không thể tìm thấy tập tin VSIX dllImport
- 3. Làm cách nào để giải quyết ngoại lệ .NET CF "Không thể tìm thấy PInvoke DLL"?
- 4. Thêm cùng một tham chiếu "* .dll" vào nhiều dự án trong cùng một Giải pháp
- 5. Visual Studio Project DLL không cập nhật trong dự án trang web (cùng một giải pháp)
- 6. Cảnh báo: Không thể tìm thấy dll
- 7. DllImport user32 vs user32.dll
- 8. Mysql SEC_TO_TIME không có dấu giây - Giải pháp Tìm thấy
- 9. py2exe không thể tìm thấy msvcp90.dll
- 10. Lỗi php5apache2_4.dll không tìm thấy
- 11. Tại sao một dự án (exe) không thấy không gian tên của dự án khác (dll) trong cùng một giải pháp?
- 12. Không thể tìm thấy một điểm vào khi gọi C++ dll trong C#
- 13. env.hosts Vải và chạy trong cùng một phương pháp => Không tìm thấy host
- 14. Thuộc tính DllImport luôn tải DLL không được quản lý
- 15. Dỡ bỏ một DLL được tải bằng DllImport
- 16. gì gây ra 1723 DLL không tìm thấy lỗi trong một trình cài đặt WIX
- 17. Lỗi: Cảnh báo: strpos() [function.strpos]: Offset không có trong chuỗi - không thể tìm thấy giải pháp
- 18. MSBuild không thể tìm thấy sgen khi biên soạn một giải pháp
- 19. Haskell SDL: Không thể tìm thấy mingw32.dll
- 20. Chỉ định đường dẫn tìm kiếm cho DllImport trong .NET
- 21. "MSVCRT-ruby18.dll không tìm thấy" với Ruby
- 22. Suppress "nguồn C nhìn thấy nhưng` CC` undefined "trong automake?
- 23. Mono trên OSX: Không thể tìm thấy gtksharpglue-2.dll
- 24. Nuget.targets không tìm thấy trong lần mở giải pháp lần đầu tiên
- 25. C++ thực thi - MSVCR100.dll không tìm thấy lỗi
- 26. Visual studio không thể tìm thấy không gian tên DLL được tham chiếu của tôi
- 27. Amazon Credentials Phương pháp không tìm thấy
- 28. Đặt dllimport lập trình trong C#
- 29. Không thể tìm thấy phương pháp onClick
- 30. Entry Point Không tìm thấy
Bạn đã thêm dll vào tài liệu tham khảo dự án chưa? – Tudor
@Tudor Có (không điền phụ) – baruch