Я пытался реализовать замечательный SqlCe 4.0 членский провайдер от ErikEJ, но у меня возникли проблемы. Я понял, как работает документация, которую предоставляет мистер Э.Дж. Но ....
Я хочу абстрагировать источник во внешний DAL. Но у меня есть проблемы с получением там. Первая проблема, которую я получаю, - это попытка добавить ссылку на SqlCe через файл .csproj, а не через web.config. (Мне нужно сделать это, чтобы я мог добавить ту же ссылку в свой проект DAL) (Мне также нужно иметь возможность установить для локального копирования значение true, поэтому нужно указывать его в ссылках csproj). Так что я делаю это ...
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<!--<add assembly="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>-->
</assemblies>
А потом добавить его в мой проект ...
Но когда я захожу на сайт, я получаю это сообщение об ошибке:
Невозможно загрузить собственные компоненты SQL Server Compact
соответствующий провайдеру ADO.NET версии 8482. Установите
правильная версия SQL Server Compact. Обратитесь к статье 974247 КБ для
подробнее ...
Когда я ссылаюсь на статью KB , в ней говорится:
ИСПРАВЛЕНИЕ: вы получаете сообщение об ошибке при запуске SQL Server Compact
Приложение на основе 3.5 после установки 32-разрядной версии SQL Server Compact Edition 3.5 с пакетом обновления 2 на компьютере x64
И да, это то, что бросает меня. Почему речь идет о 3,5? Я добавил ссылку на 4.0 dll, с которой разработчик Эрика рассчитан на работу.
Я действительно надеюсь, что кто-то может помочь. Возможно, Эрик прочтет этот пост: -)
p.s. Мне также интересно, в чем разница между добавлением ссылки в web.config и добавлением ее через csproj. Я думал, что это потому, что web.config выглядит в GAC. Но когда я пытаюсь добавить ссылку в visual studio (в csproj), я не вижу возможности добавить System.Data.SqlServerCe
вообще!
Я также могу сказать, что когда я копирую dll напрямую из
C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private
В мою корзину DAL и корзину для веб-сайтов и ссылку на них непосредственно в CSproj я все еще получаю ту же проблему.