4

我在本地机器上有一个使用 EF6 的 WebAPI 2,它运行良好。当我发布解决方案并将其上传到服务器时,我收到以下错误:

System.Data.Entity.Core.MetadataException:指定的架构无效。错误:Database.FooModel.ssdl(2,2):错误 0152:找不到具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。

注意:
我看到很多关于修复开发机器的帖子,但我的问题不是那个。我的问题在于我将代码上传到 Windows 2012 服务器时。

问:上传 EF6 解决方案时
,如何确保SERVER获得正确的设置?
我已经将服务器更新到 DotNet 4.5.1,我还应该在服务器上安装什么?

4

2 回答 2

7

========================================
解决方案: 不幸的是,我不得不重新启动一个新应用程序并快速复制文件并解决问题。现在服务器运行完美。如果我查看已发布的文件(之前和之后),我会在 bin 目录中看到一个较新的“EntityFramework.dll”文件版本和一个新的“EntityFramework.SqlServer.dll”文件。我还注意到“Microsoft.Data.Edm.dll 和 Microsoft.Data.OData.dll”不在新版本中。

不确定此信息是否有帮助..但至少我们知道我们可以创建一个新应用程序并且有效!

于 2013-10-25T20:37:10.677 回答
1

复制服务器上bin目录中的“EntityFramework.SqlServer.dll”或将其添加到解决方案中作为参考并重新发布。

于 2017-05-20T09:37:32.037 回答