Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误:";空间类型和功能不适用于此提供程序“;_C#_Entity Framework_Unit Testing_Xunit - Fatal编程技术网

C# 错误:";空间类型和功能不适用于此提供程序“;

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

我得到了一个错误:

空间类型和函数对此提供程序不可用,因为找不到程序集“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版对我有效。

这也对我有效,但也能够通过将Microsoft.SqlServer.Types绑定重定向到最新/安装的版本来使用最新版本。