2017-03-07 173 views
6

这一切新的给我,所以我承担......无法加载DLL“SqlServerSpatial140.dll”:指定的模块找不到

我工作的Visual Studio项目;这是一个返回一些数据的Web服务。

我只是试图让到Web服务器特定呼叫我的本地机器上(IIS)和我得到这个错误:之前有人说,这

Unable to load DLL 'SqlServerSpatial140.dll': The specified module could not be found

- 是的,很显然我缺少这个DLL文件。我在网上搜索,没有看到我可以从哪里下载(我已经安装了Microsoft SQL Server系统CLR类型(x64)和非X64)我已经安装了用于SQL Server 2014和2016的Microsoft系统CLR类型)

有谁知道如何解决这个问题?有谁知道我是否可以从某处下载此文件?

回答

2

将dll从C:\Users\<User>\.nuget\packages\Microsoft.SqlServer.Types\14.0.314.76\nativeBinaries\x86复制到您的项目。用鼠标右键单击该文件,然后单击属性。将“复制到输出目录”设置为“始终复制”。

+1

1)该选项不适用于NuGet包2)部署到服务器时会发生什么? – Shimmy

4

当您安装Microsoft.SqlServer.Types NuGet包,这应该在根目录创建一个新的文件夹:

\SqlServerTypes 
    |_x64 
    |_x86 

应包含相应的DLL的。它也自动设置为复制如果更新

然后,请确保您的应用程序加载相应的组件:

  • ASP.NET Web应用程序:SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
  • 对于桌面应用程序/其他:SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

不知道这作品与.NET核心虽然。

+1

我似乎无法找到'SqlServerTypes'类。 – Shimmy

+0

我也是。找不到SqlServerTypes – Venkat

+0

您能否确认文件是否存在于解决方案中?在构建/打包之前?打包并复制到Web服务器后? –

相关问题