SQLite Portable Class Library или первые робкие шаги в мире OpenSource

WP8 sqlite winrt pcl

В этом мини-посте я хочу рассказать о том, как я совершил первый робкий шаг в мире OpenSource.

Все началось с того, что, готовясь к выходу Windows Phone 8.1, я занимался объединением кода для читалки под Windows 8 и Windows Phone 8 и адаптации его к Windows Phone 8.1. Заодно я хотел разобраться с тем, что такое Portable Class Library и с чем его едят.

В процессе миграции возникла проблема с библиотекой для работы с SQLite. Данный движок баз данных поддерживается всеми платформами, однако поставляется он в виде нативной библиотеки для каждой из платформ. Более того, для того, чтобы можно было работать с этой библиотекой пришлось воспользоваться NuGet пакетом sqlite-net. Этот пакет содержит 2 файла с кодом, который можно скомпилировать как для Windows 8, так и Windows Phone 8.

Раньше, когда у меня было 2 отдельных проекта, меня все устраивало. Эти файлы присутствовали в каждом из проектов и компилировались под необходимую платформу. Однако сейчас, когда я решил объединить проекты, это стало проблемой. Мне нужна одна библиотека, которую можно добавить в сборку как для Windows 8, так и Windows Phone 8.

Решением проблемы стала библиотека SQLitePortable. Исходный код ее находится в свободном доступе и распространяется по лицензии MS-PL.

Для удобства использования создан NuGet пакет SQLitePortable.

Пользуйтесь на здоровье, мне не жалко :)