2012-10-15 40 views
22

Tôi có một vài dự án MVC sử dụng SQL CE 4.0 và Entity Framework. Kể từ khi chuyển sang Visual Studio 2012 Tôi tiếp tục nhận được lỗi sau (không phải tất cả thời gian, nhưng thường xuyên)"LoaderLock đã được phát hiện" với Visual Studio 2012

LoaderLock được phát hiện

Cố gắng thực hiện quản lý bên trong khóa OS Loader. Không cố gắng chạy mã được quản lý bên trong một hàm DllMain hoặc khởi tạo hình ảnh vì làm như vậy có thể khiến ứng dụng bị treo.

Lỗi không xảy ra nếu tôi quay trở lại sử dụng VS 2010, điều này khiến tôi khá chắc chắn đó là vấn đề với Visual Studio chứ không phải mã của tôi, nhưng tôi muốn ai đó xác nhận điều đó cho tôi!

Sửa

Vấn đề dường như luôn xảy ra khi phương thức Dispose() của dbcontext được gọi. Đây là một ảnh chụp màn hình của Trợ lý Ngoại lệ:

Exception Assistant

+1

Hoặc, VS2012 đang được cẩn thận hơn VS2010 về các cấu trúc không an toàn. – nneonneo

+2

Không có ngăn xếp cuộc gọi để xem xét kỹ lưỡng để giúp bạn. Nói chung, LoaderLock có xu hướng tạo ra cảnh báo sai. Bạn có thể tắt nó với hộp kiểm Debug + Exceptions, MDAs, LoaderLock. –

+1

@Hans, có vẻ như không phải là ngăn xếp cuộc gọi (tôi đã thêm ảnh chụp màn hình của Trợ lý ngoại lệ vào bài đăng của tôi). Tôi cho rằng vấn đề là trong mã không được quản lý. – Darren

Trả lời

12

tôi switch this off. Vì nó cảnh báo rằng ứng dụng có thể treo, nếu chương trình của bạn không treo, thì có thể bạn đã ổn.

Vấn đề có thể được giải quyết trong cùng một cách tuy nhiên, bằng cách tắt các MDA:

Debug -> Exceptions -> Quản lý Trợ gỡ lỗi

và bỏ chọn mục LoaderLock.

4

Tôi cũng gặp sự cố với LoaderLock khi tôi đang làm việc với một số dll bên ngoài trong ứng dụng C# của mình.

  • cho .NET 3.5 tôi chỉ cần bỏ chọn Thrown option trong Exceptions menu (Loader lock error)
  • cho .NET 4.0 tôi thêm <startup useLegacyV2RuntimeActivationPolicy="true"> trong app.config
+1

Tôi đang sử dụng tính năng này vào lúc này và nó hoạt động rất tốt. Đã có vấn đề với VS 2012, v4.5 và Sql CE 4.0. Đây là liên kết có thêm thông tin: http://stackoverflow.com/questions/1604663/what-does-uselegacyv2runtimeactivationpolicy-do-in-the-net-4-config/2467255#2467255 –

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