错误:“;空间类型和功能不可用于该提供者”;
本文关键字:用于 提供者 空间 类型 错误 功能 | 更新日期: 2023-09-27 18:28:45
我得到错误:
空间类型和函数不可用于此提供程序,因为找不到程序集"Microsoft.SqlServer.types"版本10或更高版本。
我只在我的一台开发机器上收到这个错误——在另一台上,它工作正常。这两台机器上都安装了SQL Server 2014,这应该足够了,但显然还不够。除此之外,我还在解决方案中安装了nuget包"Microsoft.SqlServer.Types"(我也在几个下属项目中尝试过),并添加了适当的行来加载有问题的DLL:
Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
调试显示有问题的行正在执行,并且步入其中,似乎有问题的DLL已成功加载。
用于运行项目(单元测试程序集)的同一台机器没有错误。这个错误大约在我将测试项目从MSTest切换到xUnit的同时开始出现,所以它很可能与此有关。
有什么解决问题的建议吗?
FWIW,我最终通过在每个顶级项目中包括Microsoft.SqlServer.Types(包括单元测试),并在每个顶层项目中分别通过LoadNativeAssemblies
方法加载DLL来实现这一点。文件中没有提到这一点,但这是我唯一能想到的有效方法。
降级到Microsoft.SqlServer.Types 11.0.2版适用于我。