Ostatnio, do jednego ze swoich projekcików potrzebowałem małej bazy danych. Po małych poszukiwaniach natrafiłem na SQLite. – małą bibliotekę napisaną w języku C implementujcej silnik bazy danych (parokrotnie wspominano o niej chociażby na .netomaniaku), oraz na odpowiedni data provider do niej pod .net – System.Data.SQLite.
Wraz z instalowaniem biblioteki dostajemy malutką shell’ową aplikację, która pomimo swej prostoty jest średnio wygodna w używaniu. Jak się okazuje, istnieją też już programy o bardziej przystępnej formie (choć nie tak przystępnej jak MS SQL Manager 😀 ) do zarządzania naszą bazą danych, jak np. SQLite Administrator.
I voilla, możemy działać…ale.. nie tak szybko. Aby móc skorzystać z tej biblioteczki pod aplikacja pisaną w .net 4.0 potrzebny jest jeszcze mały zabieg.
Ponieważ wrapper został stworzony w wersji niższej niż 4.0, podczas próby uruchomienia naszej aplikacji dostaniemy następujący błąd:
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.
Lekiem na zło, jest mała zmiana w pliku konfiguracyjnym aplikacji. Otóż musimy ustawić atrybut useLegacyV2RuntimeActivationPolicy na ‘true’ w sekcji <startup>:
1 2 3 4 |
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> |