错误:“此提供程序无法使用空间类型和功能”

时间:2016-01-02 02:03:08

标签: c# entity-framework unit-testing xunit

我收到了错误:

此提供程序无法使用空间类型和函数,因为无法找到程序集“Microsoft.SqlServer.Types”版本10或更高版本。

我只在我的一台开发机器上出现此错误 - 另一方面,它正常工作。两台机器都安装了SQL Server 2014,这应该足够了,但显然不是。除此之外,我在解决方案中安装了nuget包“Microsoft.SqlServer.Types”(我已经在几个从属项目中尝试过了),并添加了相应的行来加载有问题的DLL: / p>

Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

调试显示有问题的行已执行,并且踩到它,似乎有问题的DLL加载成功。

用于运行项目(单元测试组件)的同一台机器没有错误。错误开始出现的时间与我将测试项目从MSTest切换到xUnit的时间大致相同,因此很可能与此相关。

有关此问题的任何建议?

2 个答案:

答案 0 :(得分:3)

FWIW,我最终通过在每个顶级项目中包含Microsoft.SqlServer.Types(包括单元测试)以及在每个顶级项目中分别通过LoadNativeAssemblies方法加载DLL来设法实现此功能。文档没有记录这一点,但这是我能想到的唯一有用的东西。

答案 1 :(得分:2)

降级到Microsoft.SqlServer.Types版本11.0.2对我有用。