首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EntityFramework6.0和NuGet的SQLServerCompact4.0私有部署

使用EntityFramework6.0和NuGet的SQLServerCompact4.0私有部署
EN

Stack Overflow用户
提问于 2013-11-11 19:13:16
回答 1查看 3.8K关注 0票数 0

我已经标准地安装了带有实体框架6和SQLServerCompact4.0的WPF项目。当我构建我的项目时,Server部署所需的所有文件都将正确地复制到Release文件夹,包括System.Data.SqlServerCe.dll

但是,在没有安装的计算机上运行项目会引发System.IO.FileLoadException

在我的开发环境中,是从GAC加载的System.Data.SqlServerCe.dll。我找到了这个引用,其中解释了dll的版本号:http://technet.microsoft.com/en-us/library/gg213826.aspx

我假设System.Data.SqlServerCe.dll程序集表单NuGet的版本是4.0.0.0。

因此,我将项目中的System.Data.SqlServerCe.dll引用手动更改为私有文件夹中的4.0.0.1文件,并将System.Data.SqlServerCe.dll 4.0.0.1复制到生产机器。

我像这样改变了app.config

代码语言:javascript
复制
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SqlServerCe.4.0" />
      <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.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>

现在,我在开发机器上得到了这个例外:

给定的连接不是“SqlCeConnection”类型。

在生产机器上我得到了System.Data.Entity.Core.EntityException

是否有机会让私人部署使用NuGet和EF 6?还是需要手动复制x86、amd64文件夹中的所有文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-30 09:45:58

System.Data.Entity.Core.EntityException在我的应用程序中已经出现了问题,部署后我也忘了更改DB名称。

我已经遵循了这一指南,它现在正在起作用:

25.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19914020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档