C# 错误:";空间类型和功能不适用于此提供程序“;
我得到了一个错误: 空间类型和函数对此提供程序不可用,因为找不到程序集“Microsoft.SqlServer.types”版本10或更高版本 我只在我的一台开发机器上遇到这个错误,而在另一台机器上,它工作正常。这两台机器上都安装了SQL Server 2014,这应该足够了,但显然不够。除此之外,我还在解决方案中安装了nuget软件包“Microsoft.SqlServer.Types”(我在几个下属项目中也尝试过),并添加了相应的行来加载相关DLL:C# 错误:";空间类型和功能不适用于此提供程序“;,c#,entity-framework,unit-testing,xunit,C#,Entity Framework,Unit Testing,Xunit,我得到了一个错误: 空间类型和函数对此提供程序不可用,因为找不到程序集“Microsoft.SqlServer.types”版本10或更高版本 我只在我的一台开发机器上遇到这个错误,而在另一台机器上,它工作正常。这两台机器上都安装了SQL Server 2014,这应该足够了,但显然不够。除此之外,我还在解决方案中安装了nuget软件包“Microsoft.SqlServer.Types”(我在几个下属项目中也尝试过),并添加了相应的行来加载相关DLL: Utilities.LoadNative
Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
调试显示正在执行的行,进入该行,似乎正在加载的DLL已成功加载
用于无错误运行项目(单元测试程序集)的同一台计算机。这个错误大约是在我将测试项目从MSTest切换到xUnit的同时出现的,所以它很可能与此有关
有没有解决此问题的建议?FWIW,我最终成功地在每个顶级项目(包括单元测试)中包含了Microsoft.SqlServer.Types,并在每个顶级项目中分别通过
LoadNativeAssemblies
方法加载DLL。文档中没有提到这一点,但这是我能想到的唯一有效的方法。降级到Microsoft.SqlServer.Types 11.0.2版对我有效。这也对我有效,但也能够通过将Microsoft.SqlServer.Types绑定重定向到最新/安装的版本来使用最新版本。