Существует два способа развертывания SQL Server CE 4.0 в ASP.net.
Среднее доверие или
частных развертываний.
В вашем файле конфигурации используется версия 4.0.0.0 -
<add assembly="System.Data.SqlServerCe, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
для этого требуется Medium Trust и требуется, чтобы пользователь пула приложений имел разрешение на доступ к библиотекам SQL Server Compact COM в C:\Program Files\Microsoft SQL Server Compact Edition
.
При сбое среднего доверия вы могли быпопытаться частное развертывание.Это мое предпочтение, и есть меньше шансов, что в будущем что-то пойдет не так с вашей системой.
Если вы развернете частную библиотеку DLL SQL Server CE, скопировав все файлы в v4.0\Private
to bin\
, убедитесь, что ваш Web.config объявляет зависимость от версии 4.0.0.1.Эта версия не развернута в GAC, и это обеспечит загрузку вашей частной копии.
<system.web>
<compilation>
<assemblies>
<add assembly="System.Data.SqlServerCe, Version=4.0.0.1,
Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</assemblies>
</compilation>
</system.web>
Вам также потребуется соответствующее изменение в разделе DbProvider в Web.config
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<!-- Use private copy 4.0.0.1 -->
<add invariant="System.Data.SqlServerCe.4.0"
name="Microsoft SQL Server Compact 4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory,
System.Data.SqlServerCe,
Version=4.0.0.1,
Culture=neutral,
PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>