2013-05-19 33 views
5

một số người dùng (tôi cho rằng đó là ~ 10%) exeperiences một vấn đề khi cố chạy ứng dụng của tôi được viết bằng C# (.NET 4.0) - lúc khởi động ứng dụng occures:C# Lỗi khi khởi động ứng dụng - không thể tải tệp hoặc lắp ráp

Could not load file or assembly 'lua51.dll'. Such module could not be found. 

- Đây là bản dịch, vì vậy phiên bản ENG có thể tương tự.

Vấn đề là hầu hết người dùng không gặp vấn đề này và lua51.dll hiện diện trong thư mục của chương trình. Điều gì có thể là lý do của lỗi này?

Tôi đã đặt Nền tảng: x86 trong tùy chọn dự án-> bulid, lỗi xảy ra.

+5

Có thể những người gặp sự cố là những người có máy 64bit không? Lua51.dll là notorius cho có vấn đề khi tham chiếu từ 64 bit hội đồng. – KingCronus

+0

Xem: http://stackoverflow.com/questions/6856826/c-sharp-external-library-lua-call-problem/6901114#6901114 – KingCronus

+0

Tôi đã đặt Nền tảng: x86 trong tùy chọn dự án-> bulid của mình. – user1792042

Trả lời

9

Đây là một vấn đề phổ biến, quá nhiều lập trình viên chỉ cần sao chép DLL mà không nhận ra rằng lua51.dll có DLL phụ thuộc vào chính nó mà cần phải được cài đặt là tốt. Thông báo lỗi từ Windows thật đáng buồn, nó không báo cáo nguyên nhân thực sự của vấn đề. Một sự kiện trong nhật ký Applciation có, nhưng không đủ người dùng xem nó.

Thật không may điều này không thường xuyên sai, nhiều máy đã có sẵn các tệp DLL phụ thuộc. Tuy nhiên đây là một tai nạn, bạn không thể dựa vào nó. Những tỷ lệ cược có được thấp hơn và thấp hơn là tốt, sự phụ thuộc là nhận được cũ.

Bạn sẽ cần phải đọc Install Notes biết những gì được yêu cầu:

Lua cho Windows và đó là tất cả các module phụ thuộc vào thư viện runtime MSVC++ 2005. Lua cho Windows cài đặt sẽ tự động tải về thời gian chạy này và cài đặt nó cho bạn nếu bạn không có thời gian chạy được cài đặt trên máy tính của bạn. Thời gian chạy được chứa trong tệp vcredist_x86.exe

Do đó, hãy dựa vào trình cài đặt Lua hoặc tự cài đặt vcredist.

+0

cảm ơn, tôi sẽ xem xét nó – user1792042

Các vấn đề liên quan