无法加载DLL'SqlServerSpatial.dll'

.net sql-server azure

27620 观看

7回复

100 作者的声誉

我有一个.NET MVC Web应用程序引用,System.Data.Spatial所以我可以DbGeography在属性上使用数据类型来处理某些地理位置。我正在使用Visual Studio 2012和.NET 4.5,并且在我的开发机器上没有完整安装SQL Server(只有localdb)。

该应用程序运行良好,直到我将其推送到Azure。一旦我的应用程序命中我的DbGeography属性,它就会抛出此错误:

无法加载DLL“SqlServerSpatial.dll”:找不到指定的模块。

还有其他人遇到过这个问题吗?

作者: ryanw51 的来源 发布者: 2013 年 6 月 1 日

回应 (7)


12

7109 作者的声誉

决定

SqlServerSpatial.dll是非托管代码。您必须在服务器上安装正确的版本(64位)。将DLL添加到项目中。将SqlServerSpatial110.dll的属性设置为“复制到输出目录=始终复制”

您可在此处找到详细信息

作者: slfan 发布者: 01.06.2013 03:23

0

366 作者的声誉

我遇到了这个问题,并且真的错过了SqlServerSpatial110.dll

我最后按照这里的说明操作:

http://dllyes.com/sqlserverspatial110-dll/

基本上你需要得到那个.dll然后

如果您运行的是32位Windows,请将SqlServerSpatial110.dll放在\ Windows \ System32(通常位于磁盘C)中。如果您运行的是64位Windows,则另外将文件放在\ Windows \ SysWOW64中。

作者: pflous 发布者: 18.08.2016 03:41

-1

21984 作者的声誉

  • SqlGeometrySqlGeography类型可以通过引用来在VS项目(例如C#)中使用Microsoft.SqlServer.Types.dll
  • Microsoft.SqlServer.Types.dll是一个托管库,并有一些非托管库作为先决条件,他们就像 SqlServerSpatialXXX.dllmsvcrXXX.dll
  • Microsoft.SqlServer.Types.dll但是,从Sql Server 2008开始,可以使用不同的版本 ,但是从2012年开始我没有看到任何功能变化。

有关详细解决方案,您可能希望在另一篇类似的帖子中看到我的答案

作者: Hossein Narimani Rad 发布者: 15.01.2017 02:30

3

4804 作者的声誉

SQL 2012也安装了这个dll,SQL 2014没有!您必须在计算机上安装SQL Server 2008 R2的Microsoft系统CLR类型。

  1. http://www.microsoft.com/en-us/download/details.aspx?id=26728
  2. 单击下载
  3. 根据您的处理器架构检查其中一个

    • 1033 \ 64 \ SQLSysClrTypes.msi
    • 1033 \ 86 \ SQLSysClrTypes.msi
    • 1033 \ IA64 \ SQLSysClrTypes.msi
  4. 单击下一步

编辑

作为Ian Grainger评论,你必须根据你的IIS安装正确的版本。显然,IIS Express默认以32位模式运行。

作者: Mahmoodvcs 发布者: 20.01.2017 10:25

-1

557 作者的声誉

I had the same issue in godaddy VPS with windows server 2012 r2

我通过将EF5更新为EF6来解决它

在包管理器控制台中运行到EF5到EF lalest

Install-Package EntityFramework 
作者: John 发布者: 16.12.2017 05:42

1

11 作者的声誉

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
  <assemblyIdentity name="Microsoft.SqlServer.Types" 
  publicKeyToken="89845dcd8080cc91" culture="neutral" />
  <bindingRedirect oldVersion="10.0.0.0" newVersion="12.0.0.0" />
  </dependentAssembly>
  </assemblyBinding>
</runtime>
作者: David Chen 发布者: 31.01.2018 04:04

0

1 作者的声誉

我在相当一段时间内一直在努力,我安装了所需的文件,但它仍然无法正常工作。

显然,该项目想要使用x86 SqlServerSpatial.dll所以我在工具>选项> WebProjects中将IIS Express Build更改为x64>使用64位IIS 这是屏幕

无需添加新的nuget包,只需从microsoft页面安装SQLSysClrTypes:http//go.microsoft.com/fwlink/? LinkID = 188391&clcid = 0x409 ,它应该没问题;)

希望它能帮助别人!

作者: Andrew Mara 发布者: 11.07.2019 06:19
32x32