Отсутствует поставщик данных System.Data.SQLite - PullRequest
0 голосов
/ 19 мая 2011

У меня ранее была установлена ​​более старая версия SQLite (с http://sqlite.phxsoftware.com), и теперь я заменил ее на самую последнюю (с http://sqlite.org в соответствии с рекомендациями). Я смог увидеть поставщика данных более старой версии в «Обозреватель серверов» 2010 года, а в новой версии он отсутствует.

Я использовал установщик в качестве администратора и выбрал установку сборок GAC. После установки я увидел в своем файле machine.config, что для SQLite больше не было записи '', а ранее. Я вручную вставил новую для новой версии, но это не помогло.

Ручная запись:

<DbProviderFactories>
    <add name="SQLite Data Provider" invariant="System.Data.SQLite" 
         description=".Net Framework Data Provider for SQLite"
         type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.72.0,
         Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    <!-- other entries here -->
</DbProviderFactories>

Теперь я застрял и не уверен, что попробовать дальше или выяснить, в чем разница между установками между двумя версиями. Это может быть большой разницей, так как другая группа разработчиков поддерживает это для .Net сейчас.

1 Ответ

2 голосов
/ 19 мая 2011

SQLite может быть такой колоссальной болью в тылу на Windows, это даже не смешно. Я не могу сказать, что когда-либо имел дело с этой проблемой конкретно, но я имел дело с ресурсами SQLite, которые не распознаются в GAC должным образом. Я потерял 2 полных дня из-за этой проблемы, прежде чем выяснил, что SQL Server 2008 Express Edition установит утилиты SQLite вместе с экземпляром SQL по умолчанию и всем остальным так, чтобы продукты Microsoft с готовностью подхватили его. Я уже установил SQL Server 2008 Professional на мою машину, и установка экспресс-экземпляра ни в коей мере не испортила мою конфигурацию.

Я понимаю, что это полностью обходной путь, но в долгосрочной перспективе лучше всего переместить ссылку dll на папку / Binaries / в необходимых проектах и ​​использовать GAC только для сборок Microsoft. Совершенно очевидно, что большинство третьих сторон не имеют представления о том, как правильно использовать GAC (независимо от того, является ли это их ошибкой или вопрос Microsoft - вопрос, который я оставляю философам), поэтому, если вы не хотите уделять много времени изучению его особенностей, вам лучше использовать папку Binaries.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...