我的Visual Studio 2010(C#)应用程序正在运行,我本周一直在尝试使用安装项目部署它,但没有成功。
我从Privately Deploying SQL Server Compact with the ADO.NET Entity Provider开始关注Steve Lasker的网络博客。我让我修改项目的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 Team 的文章{{3} }。在他们的文章中,他们说我必须添加“程序集绑定重定向”(错误链接)并在我的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?
答案 0 :(得分:2)
在Code Project上找到一个名为Creating a Private Installation for SQL Compact的解决方案,解决了我的问题。
基本上,看起来这一切都归结为VS安装程序没有创建文件夹或复制SSCE所需的文件。上面的链接详细介绍了如何做到这一点。
我希望这有助于其他人。