SQLite and .Net 4.0


من قبلا از Sqlite با نسخه های دیگر .net استفاده کرده بودم ولی مدتی پیش هنگام استفاده از آن در net 4.0 با استثنای زیر روبه رو شدم:

Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.

ساختار برنامه به صورتی بود که برنامه اجرایی از یک dll برای ارتباط با پایگاه داده استفاده میکرد و این dll بود که از sqlite استفاده میکرد. این استثنا وقتی روی می داد که اجرای کد از فایل اجرایی به داخل dll منتقل میشد. اسمبلی System.Data.Sqlite هم در همان Dll اضافه شده بود و مورد استفاده قرار می گرفت.
 طبق راه حل ارئه شده در سایت سازنده باید در فایل app.config برنامه این خطوط را اضافه کنیم:


  
    
    
  


من این خطوط را به فایل config پروژه Dll اضافه کردم ولی مشکل حل نشد ولی با اضافه کردن این خطوط به فایل config برنامه اجرایی مشکل حل شد!
به نظر می رسد که این تنظیمات باید به فایل config اسمبلی اضافه شود که CLR را فراخوانی می کند و در اینجا این فایل اجرایی بود که این کار را انجام میداد نه dll.