0

当我从 Visual Studio 2015 Enterprise 在本地运行我的测试“编码 UI”时,它们工作正常,但是当我从“发布定义”(TFS 版本 15.117.26714.0)运行它们时,我收到此错误:

System.InvalidOperationException:无法加载在应用程序配置文件中为具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序注册的实体框架提供程序类型“System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer” . 确保使用程序集限定名称并且程序集可用于正在运行的应用程序。

我不明白,因为我已经查看了实体框架 DLL,它们在 Build 中:

  • 实体框架.dll

  • Oracle.ManagedDataAccess.dll

  • Oracle.ManagedDataAccess.EntityFramework.dll

在本地工作正常,它只发生在您在 Windows 2012 服务器上运行它们时的发布定义中。

如果“编码的 UI”测试没有进入数据库,因此没有引用的“实体框架”,它在发布定义中可以正常工作。

4

1 回答 1

0

请尝试以下项目以缩小问题范围:

  • 确保您已在构建/测试机器上安装了 Visual Studio。
  • 检查您的发布定义,确保您已添加Nuget 安装程序步骤以恢复包。
  • 卸载 Entity Framework nuget 并重新安装。
  • 检查是否EntityFramework.SqlServer.dll缺少任何引用的项目。如果是,只需将 nuget 包添加到该项目。
  • 尝试通过 Nuget 为您的项目安装最新的EntityFramework,然后再试一次。

参考这个类似的线程:如何解决实体框架提供程序异常

于 2017-12-12T08:57:39.573 回答