从USB设备运行应用程序

时间:2009-12-08 17:22:03

标签: c# visual-studio-2008 entity-framework sql-server-ce

我正在开发一个概念验证应用程序,它包含一个带有控制台主机和客户端的WCF服务,两者都在一个USB设备上。在同一设备上,我还将拥有将连接到此服务的客户端应用程序。该服务使用实体框架连接到数据库,在此POC中只返回一个名称列表。如果它有效,它将用于更大的项目。

创建客户端和服务很简单,这在USB上运行良好。但是获得连接到数据库的服务却没有。我找到this site,建议我应该修改machine.config但是会停止XCopy部署。这个项目不能改变PC的任何设置,所以这个建议很糟糕。我也无法创建部署设置。整个事情只需要从USB磁盘运行。

那么,我该如何让它运行?

(该服务只是从数据库中选择一个名称列表,然后返回给客户端。如果这个POC有效,它将做更复杂的事情!)

2 个答案:

答案 0 :(得分:3)

噢。解决了它。只需要将其添加到.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.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
    </DbProviderFactories>
  </system.data>

将其添加到本地配置文件也可以正常工作。 : - )

答案 1 :(得分:0)

您是否考虑过使用In Memory数据库(如果它适合您的应用程序)。回过头来,我曾参与过将Web应用程序作为桌面产品离线发布的项目。我们使用HSQLDB作为内存数据库,对我们来说它运作良好(数据库也很小)