Bạn hoàn thành việc phát triển một project .Net Webform để kết nối với SAP bằng thư viện SAP Connector. Nhưng khi publish lên IIS thì gặp lỗi:

Could not load file or assembly 'rscp4n.DLL' or one of its dependencies. The specified module could not be found.alert-error

Mình đã mất cả buổi sáng với lỗi này, cuối cùng cũng giải quyết xong. Hi vọng bài viết này sẽ giúp bạn tiết kiệm được một buổi sáng.

Các giải quyết:

1. Kiểm tra phiên bản .Net Connector của bạn đang là x86 hay x64. So sánh giữa phiên bản bạn cài trên máy bạn lúc lập trình và phiên bản được cài trên server. Đảm bảo rằng phiên bản được cài tương thích với phiên bản hệ điều hành. Trường hợp của mình là sử dụng phiên bản x64.

2. Trong Visual Studio, bạn đặt Config Manager target về Any CPU

3. Cũng trong Visual Studio, ở mục project references, bạn hãy thêm 3 tập tin DLL của SAP Connector (rscp4n.dll, sapnco.dll, sapnco_utils.dll) và cần đảm bảo rằng bạn đã set Copy to Local = true.

4. Build lại project và copy folder bin ở dưới máy bạn lên folder bin trên server.

5. Start lại web và thử truy cập lại web xem vấn đề đã được khắc phục chưa.

Lưu ý:
Bạn không cần phải set AppPoll về classic mode hay bật 32-bit Applications trong trường hợp này.alert-warning

6. Nếu vấn đề chưa được khắc phục, bạn hãy kiểm tra trên server đã cài Visual C++ Redistributable 2010 (x86 và x64) chưa. Nếu chưa, thì chắc chắn đây là nguyên nhân, do thiếu Visual C++ Redistributable. Sau khi cài xong và thử lại.

Lưu ý là hiện tại, thời điểm viết bài này thì SAP .Net Connector vẫn chưa hỗ trợ .Net Core nên bạn cần sử dụng framework khác thay thế nhé. Trường hợp của mình là sử dụng .Net WebForm.


Post a Comment

Mới hơn Cũ hơn