如何解决-无法加载DLL'SqlServerSpatial110.dll'错误

时间:2020-03-02 19:44:52

标签: sql-server asp.net-mvc visual-studio entity-framework razorengine

我有一个带有附加远程SQL数据库的ASP.NET MVC WebApp,当从本地主机启动VS解决方案时,我遇到了关于SqlServerSpatial110.dll的错误。

到目前为止,我什至都不知道我的应用程序使用了这个DLL,并且在解决方案中我没有指向它的引用。

  • 该解决方案到目前为止(本地和远程)运行都没有错误-在某些HTML更改(未进行参考更改/添加)之后,该错误首先出现。 重要:那时,我有2种不同的解决方案与VS一起使用。一种解决方案以管理员身份打开,另一种以普通用户身份打开。
  • 以调试模式运行解决方案没有错误
  • 我也将PC系统还原到以前该解决方案可以正常运行的位置,但这并没有消除错误
  • 我在PC上搜索了SqlServerSpatial110.dll,并在2个位置(C:\ Windows \ System32和C:\ Program Files \ Microsoft SQL Server \ 110 \ LocalDB \ Binn)找到了它,但没有在解决方案文件夹中找到它
  • Windows 10(64位)。 Visual Studio 2019

编辑: 我按照建议的here

向Web.config添加了一个条目
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" />
    <bindingRedirect oldVersion="1.0.0.0-11.0.0.0" newVersion="10.0.0.0" />
  </dependentAssembly>  

,错误消失。 但是,我不明白为什么突然需要这样做,因为以前该解决方案可以正常工作并且没有进行任何相关更改。

希望能帮助您解决问题或解决方法。

1 个答案:

答案 0 :(得分:2)

由于安装SQL Server时缺少某些模块,可能会发生此错误。

下载并安装SQL功能部件包,在安装功能部件包时选择SQLSysClrTypes.msi。 “ SQLSysClrTypes.msi ”包含带有“ SqlServerSpatial110.dll ”的SQL CLR类型库。

----------或----------

以下NuGet命令可以解决您的问题,请在执行NuGet命令之前先备份

Install-Package Microsoft.SqlServer.Types

希望这会有所帮助