У меня есть приложение, которое использует Sql CE 3.5 SP2.Я включил библиотеки DLL, которые требуются для Sql CE - их здесь 7 (C: \ Program Files (x86) \ Microsoft SQL Server Compact Edition \ v3.5), которые я просто добавляю в пакет развертывания в виде файлов приложения.
Я также использую EF для доступа к БД, поэтому я добавил запись в свой файл app.config для предоставления провайдера данных:
<system.data>
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider"
invariant="System.Data.SqlServerCe.3.5"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
Выполнение вышеупомянутых работ для моегоразвернутые приложения;однако, когда я запускаю свое приложение в режиме отладки из VS2010, любые вызовы БД, которые выполняются через EF, приводят к этой ошибке:
The specified store provider cannot be found in the configuration, or is not valid.
Если я удаляю запись из моего app.config, она работает нормально, ноперестает работать для развернутых приложений.
Есть ли счастливая среда?Я предполагаю, что причина ошибки заключается в том, что на моей машине разработки установлена легальная копия Sql CE, и по какой-то причине регистрация в моем app.config приводит к ее поломке, хотя я не совсем понимаю, почему.
Советы?Предложения?
Заранее спасибо.