【问题标题】:Error: "Spatial types and functions are not available for this provider"错误:“此提供程序无法使用空间类型和功能”
【发布时间】:2016-01-02 02:03:08
【问题描述】:

我收到了错误:

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

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

Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

调试显示有问题的行执行,并且单步执行,似乎有问题的 DLL 加载成功。

用于运行项目(单元测试程序集)且没有错误的同一台机器。在我将测试项目从 MSTest 切换到 xUnit 的同时,该错误开始出现,因此很可能与此有关。

有任何解决此问题的建议吗?

【问题讨论】:

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


    【解决方案1】:

    FWIW,我最终设法通过在每个顶级项目(包括单元测试)中包含 Microsoft.SqlServer.Types 并在每个顶级项目中分别通过 LoadNativeAssemblies 方法加载 DLL 来完成这项工作。文档没有说明这一点,但这是我能想到的唯一可行的方法。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这也适用于我,但也能够通过将 Microsoft.SqlServer.Types 绑定重定向到最新/已安装版本来使用最新版本。
      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多