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

我收到了错误:

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

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

Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); 

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

用于运行项目(unit testing组件)的同一台机器没有错误。 错误开始出现的时间与我将测试项目从MSTest切换到xUnit的时间差不多,所以它可能与此有关。

有什么建议可以排除故障吗

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

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