rev*_*ter 14 .net sql-server dll geospatial
这对我来说都是新的,所以请耐心等待......
我正在开发一个Visual Studio项目; 它是一个返回一些数据的Web服务.
我刚刚尝试在本地计算机(IIS)上对Web服务器进行特定调用,我收到此错误:
无法加载DLL"SqlServerSpatial140.dll":找不到指定的模块
在有人说之前 - 是的,显然我错过了这个DLL文件.我在网上搜索过,看不到我从哪里下载它(我安装了Microsoft SQL Server系统CLR类型(x64)和非X64.我安装了SQL Server 2014和2016的Microsoft System CLR类型)
有谁知道如何解决这一问题?有谁知道我是否可以从某个地方下载这个文件?
Pur*_*ome 13
安装Microsoft.SqlServer.Typesnuget包时,应该在root中创建一个新文件夹:
\SqlServerTypes
|_x64
|_x86
Run Code Online (Sandbox Code Playgroud)
哪个应该包含适当的dll.它也是自动设置,如果更新则复制.
然后,确保您的应用加载适当的程序集:
SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);不确定这是否适用于.NET Core.
Kri*_*lén 11
将dll复制C:\Users\<User>\.nuget\packages\Microsoft.SqlServer.Types\14.0.314.76\nativeBinaries\x86到项目中.右键单击该文件,然后单击"属性".将"复制到输出目录"设置为"始终复制".
对于那些看到非常相似的错误的人,例如:
无法复制文件"...\SqlServerTypes\x64\SqlServerSpatial140.dll",因为找不到它
如果您通过NuGet安装了Microsoft.SqlServer.Types并且您的应用程序在本地工作,但是在通过Azure DevOps构建时出现错误,那么您只需要将dll添加到源代码控制.正如@ Pure.Krome所指出的,这些dll存在于本地:
但请注意,默认情况下会忽略这些dll(左侧的红色图标).右键单击忽略的dll,Add Ignored File to Source Control…然后选择提交并推送更改,然后排队新的构建!注意:您的解决方案可能包含多个项目,每个项目可能都有自己的SqlServerTypes文件夹.
我的问题与 git 相关:解决方案的新克隆(保存在 TFS 上)似乎已损坏,尽管我的开发人员同事没有问题。就我而言,“重置”起到了作用:
我遇到了这个问题,但我找到了解决方案。我有一些 System.Data.Entity.Spatial.DbGeometry 类型的新实体,当我运行 Add-Migration 命令时,我不断收到 System.DllNotFoundException: Unable to load DLL 'SqlServerSpatial140.dll' 。我已经从 nuget 安装了 SqlServerTypes 库,它在我的解决方案中放置了一个文件夹,如 @mattavatar 的帖子所示,但我仍然遇到异常。
对我来说解决这个问题的方法是将这些 DLL 复制到 C:\Windows\SysWOW64。这取决于您的计算机的体系结构和 IIS 配置。对于我来说,我在 64 位计算机上运行,但 IIS 配置为运行 32 位应用程序。在这种情况下,我必须将 32 位 dll 复制到 C:\Windows\SysWOW64。如果您运行的是 32 位计算机,则需要将 32 位 dll 复制到 C:\Windows\System32。如果您将 64 位 dll 复制到需要 32 位 dll 的位置,然后运行 Add-Migration 命令,您将收到 System.BadImageFormatException。
希望这对某人有帮助。我花了太长时间试图弄清楚这一点。感谢 @pflous 的评论/sf/answers/2730674411/
| 归档时间: |
|
| 查看次数: |
14158 次 |
| 最近记录: |