如何将SQL CE 4 CTP部署到共享主机?

And*_*wis 9 deployment asp.net-mvc sql-server-ce entity-framework-4 asp.net-mvc-2

如何将带有EF4的SQL CE 4.0部署到ASP.NET MVC 2.0的共享托管提供程序?

我已经在我的bin文件夹中包含了System.Data.SqlServerCe.dll和amd64 + x86目录,但仍然没有找到".net提供程序".我意识到它目前在CTP中,但这仅用于测试目的.我的项目+主机配置为.net 4.0

Lor*_*sen 10

使用Visual Studio 2010,现在可以通过使用"可部署的依赖关系"将SQL CE 4部署到共享托管环境.您无需手动将dll复制到bin文件夹或修改web.config.这两个都是为你完成的.

"我们可以通过几个简单的步骤在Web站点或Web应用程序项目中包含所需的程序集.右键单击解决方案资源管理器中的项目节点,然后选择"添加可部署的依赖项..."上下文菜单项.

可部署的依赖关系http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4403.MenuItem_5F00_1.png

(http://blogs.msdn.com/b/webdevtools/archive/2011/01/06/how-to-bin-deploy-sql-compact-edition-4-0-and-razor-web-projects.aspx)


gtd*_*dev 3

有两种可能导致此问题:

\n\n
    \n
  1. 当您使用 Windows Installer 在开发计算机上安装 SQL CE 时,将为提供程序添加一个 machine.config 条目。但是,当您部署到托管时,提供程序条目将不可能存在,因此您应该将此条目添加到您的 web.config 中(我猜尤其是为了 EF 工作):

    \n\n
    <system.data>\n  <DbProviderFactories>\n   <add \n    name="SQL Server Compact Edition 4.0" \n    invariant="System.Data.SqlServerCe.4.0"\n    description=".NET Framework Data Provider for Microsoft SQL Server Compact Edition 4.0" \n    type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />\n  </DbProviderFactories>\n</system.data>\n
    Run Code Online (Sandbox Code Playgroud)
  2. \n
  3. 编辑:幸运的是,微软在2011年1月12日发布的SQL CE 4.0 RTM (版本4.0.8482.1)中解决了部署问题。\xe2\x80\x9cPrivate\xe2\x80\x9d 文件夹包含 x64 和 x86 相关的 DLL 文件,现在还包含 amd64\\Microsoft.VC90.CRT 和 x86\\Microsoft.VC90 下所需的 C++ 运行时 DLL。 CRT 子文件夹。因此,从现在开始,部署 Private 文件夹中的所有 DLL 和文件夹就部署了 Compact 正常工作所需的所有文件。SQL CE 4.0 CTP 看起来很有前途,但部署仍然很糟糕,我们仍然需要包含几个本机 DLL(amd64 和 x86 目录,这很难看),此外还依赖于 Visual C++ 2008 Runtime Libraries SP1,但似乎没有人知道\n我们如何确保共享主机已修复此问题?我希望我们能够通过包含 System.Data.SqlServerCe.dll(以及用于 EF 支持的 System.Data.SqlServerCe.Entity.dll)来简单地进行部署。我希望他们将来发布一个完全托管的版本(如 VistaDB)。至少 MS 应该强制此运行时与 .Net Framework 4.0 安装一起,请参阅下文了解更多信息:

    \n\n
    \n

    使用 Windows 安装程序 (.exe) 文件安装 SQL Server Compact 4.0 CTP1,还会安装 Visual C++ 2008 运行时库 SP1。如果 SQL Server Compact 4.0 CTP1 以私有方式部署在\n 应用程序\xe2\x80\x99s 文件夹中,则计算机上必须存在\n 以下内容,\n SQL Server Compact 才能正常运行:\n

    \n\n

    1.安装 .NET Framework 3.5 SP1 还会安装 Visual C++ 2008\n 运行时库 SP1。

    \n\n

    2.Visual C++ 2008 运行时库 SP1 可以从下面给出的位置下载并安装:\n http://go.microsoft.com/fwlink/?LinkId=194827

    \n\n

    请注意,安装 .NET Framework\n 2.0、3.0 或 4 不会安装 Visual C++ 2008 运行时库 SP1。

    \n
  4. \n
\n