2012-01-18 36 views
5

Tôi có một cửa sổ làm việc hoàn hảo biểu mẫu ứng dụng C# .NET 4 sử dụng tệp cơ sở dữ liệu SQLite3 để lưu trữ dữ liệu và biểu mẫu hiển thị.Không thể tải hệ thống lắp ráp.Data.SQLite.dll

Khi tôi triển khai ứng dụng của mình trên bất kỳ máy nào khác thì máy dev, tôi nhận được một ngoại lệ được ném và thông báo của nó là "Không thể tải assembly.Data.SQLite.dll hoặc một trong các phụ thuộc của nó. được tìm thấy."

Tham chiếu System.Data.SQLite.dll trong dự án được đặt thành Sao chép cục bộ = True. Ngoài ra, tôi đã thử tải assembly theo cách thủ công với Assembly.LoadFile. Các dll được đặt trong thư mục đầu ra. Tôi cũng đã thử đặt mục tiêu nền tảng thành CPU bất kỳ cũng như x86, không có sự khác biệt. Tất cả các máy tôi đang làm việc với 32-bit. Vấn đề ở đây là gì? Tại sao ứng dụng của tôi đang cố gắng tải assembly và không thể tìm thấy nó?

Cảm ơn!

+1

Có một cái nhìn tại SO Chủ đề - http://stackoverflow.com/questions/1278929/could-not-load-file-or-assembly- system-data-sqlite – adatapost

+0

cảm ơn, nhưng điều này trông giống như một giải pháp cho một ứng dụng web. Mỏ là một ứng dụng biểu mẫu cửa sổ và giải pháp bạn đính kèm không hoạt động .. – user1094786

+0

Bạn triển khai như thế nào? Bạn có một dự án thiết lập, sao chép thư mục phát hành không? – MPelletier

Trả lời

13

Tôi gặp sự cố tương tự sau khi xuất bản chương trình của mình sang một máy tính riêng biệt. Cài đặt Microsoft Visual C++ 2010 Redistributable trọn gói (x86) trên máy tính riêng biệt cố định vấn đề.

Lưu ý: máy tính riêng biệt đã có Microsoft Visual C++ 2010 Redistributable Package (x64 ) được cài đặt, phiên bản x86 là cần thiết.

+0

Liên kết đã chết ... – jjxtra

+0

Cảm ơn bạn đã cho tôi biết, tôi chỉ đang cố gắng ghi nhận nơi tôi đã tìm thấy câu trả lời cho vấn đề ban đầu. Tôi tưởng tượng lời giải thích của tôi sẽ là đủ nếu nguyên nhân của vấn đề là như nhau. –

6

'System.Data.SQLite.dll "yêu cầu" msvcr100.dll "là một trong các phụ thuộc của nó. Điều này sẽ chỉ khả dụng nếu bạn đã cài đặt" Microsoft Visual C++ Redistributable "mới nhất hoặc bất kỳ sản phẩm nào khác cung cấp nội bộ này.

Ví dụ, VS2010 sẽ cài đặt C++ Redistributable theo mặc định. Thats lý do ứng dụng của bạn doesnot công trình trong một số máy nhưng làm việc ở những người khác.

bạn có thể thử dán "msvcr100.dll" trong thư mục ứng dụng của bạn và bin phân phối nếu bạn không muốn cài đặt VC++ 2010 Redist trong tất cả các máy tính của.

+0

Cảm ơn - điều này đã xảy ra trong trường hợp của tôi. – Eternal21

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