应用程序配置WinForm . net 4私有部署SQL Server CE SP2
本文关键字:SQL 部署 Server CE SP2 配置 WinForm net 应用程序 | 更新日期: 2023-09-27 18:03:50
我的Visual Studio 2010 (c#)应用程序正在工作,这周我一直在尝试使用安装项目来部署它,但没有成功。
我开始跟随Steve Lasker的关于使用ADO私下部署SQL Server Compact的Web博客。. NET实体提供程序。它让我修改项目的app.config
文件,包括以下内容:
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.3.5"></remove>
<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.50, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
该安装仅在已经安装了SQL Server CE的PC上成功运行(如MY PC)。
我仔细看了看这篇文章,发现它写于2008年,但是David V留下了一条评论链接到SQL CE团队的文章Troubleshooting: private部署SQL Server Compact 3.5 SP2 ADO。应用程序文件夹中的. NET实体框架提供程序(System.Data.SqlServerCe.Entity.dll)不起作用。在他们的文章中,他们说我必须添加"程序集绑定重定向"(错误链接),并在我的app.config
文件中添加以下信息:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="3.5.1.0-3.5.1.50" newVersion="3.5.1.50"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
所以,这里我有一个不安装的安装程序。
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="LastRun" value=""/>
<add key="UserName" value=""/>
</appSettings>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.3.5"></remove>
<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.50, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="3.5.1.0-3.5.1.50" newVersion="3.5.1.50"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
我的app.config
文件损坏了吗?
我的应用程序仍然运行良好,但安装程序无法安装任何东西。安装程序的错误总是2727的临时文件名更改:
DEBUG:错误2727:目录条目'_1083472CD2EB47548297E3336FCD9A58'不存在
我该怎么办?
是否有人成功地为私有实例部署了Microsoft SQL CE Server SP2 ?
在Code Project上找到了一个名为创建SQL Compact私有安装的解决方案,解决了我的问题。
基本上,看起来这一切都归结为一个事实,即VS安装程序没有创建文件夹或复制SSCE所需的文件。上面的链接详细介绍了如何做到这一点。