每当我保存到数据库时,我的应用程序崩溃并出现以下错误.
无法在DLL"SqlServerSpatial110.dll"中找到名为"SetClrFeatureSwitchMap"的入口点.
Windows Update和PC重新启动后,昨天下午开始出现此错误.dll未在项目中引用,也不在bin文件夹中.
我使用EF5,我可以连接到数据库并提取数据但是当我调用ObjectContext.SaveChanges()时会发生错误.
该应用程序不使用几何,所以我不知道它来自何处.
我试图在C#.Net项目中使用SqlServer Spatial CLR类型.我想使用SqlGeometry来查询我的数据库中的空间记录.
我在本地计算机上运行Visual Studio 2010中运行的单元测试,命中远程SqlServer计算机.都好.
然后,我将WCF Rest服务发布到我的本地IIS实例,该实例具有与单元测试匹配相同类库的服务,以进行一些空间查询,并且失败.
我收到一个错误说
无法加载DLL SqlServerSpatial.dll:找不到指定的模块.
我用谷歌搜索了这个并找到了许多答案 - 对我来说都没有用.我有:
我唯一没做过的,坦率地拒绝做的是在实际的SqlServer盒子上安装任何东西.这对我来说似乎没用.
在这一点上,我唯一能想到的是导致这是一个权限问题,因为它在IIS应用程序池中运行,而不是在单元测试中工作的Studio内部.
请注意,在我的项目中,我从不参考错误消息中提到的DLL.那个dll出现在sql box上,但我无法将它添加到工作室,因为它在我尝试时会给出一些消息.我在这里尝试的东西已经用完了.这是90年代dll地狱了.
我们的一个类库使用Microsoft空间类型,如DbGeography.在没有旧版本的SQL Server和Visual Studio的干净机器上运行我们的应用程序时,我们得到以下异常:
空间类型和函数不适用于此提供程序,因为无法找到程序集"Microsoft.SqlServer.Types"版本10或更高版本.
解决方案显然是安装这个nuget包:
Install-Package Microsoft.SqlServer.Types
Run Code Online (Sandbox Code Playgroud)
安装后,nuget包提供了有关如何从每个项目类型引用DLL的说明:
若要将使用空间数据类型的应用程序部署到未安装"SQL Server的CLR类型"的计算机,还需要部署本机程序集SqlServerSpatial110.dll.
此程序集的x86(32位)和x64(64位)版本已添加到SqlServerTypes\x86和SqlServerTypes\x64子目录下的项目中.如果未安装C++运行时,还包括本机程序集msvcr100.dll.
您需要添加代码以在运行时加载这些程序集中正确的一个(取决于当前的体系结构).
ASP.NET应用程序对于ASP.NET应用程序,将以下代码行添加到Global.asax.cs中的Application_Start方法:SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("〜/ bin"));
桌面应用程序对于桌面应用程序,在执行任何空间操作之前添加以下代码行:SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
nuget包项目网站没有响应,所以我不确定这是2016年最好的方法.
我的问题是,我无法弄清楚如何从ASP.NET Core 1.0应用程序调用LoadNativeAssemblies.我们使用的是完整框架(net461),而不是核心框架.
public class Startup
{
public Startup(IHostingEnvironment env)
{
...
SqlServerTypes.Utilities.LoadNativeAssemblies(env.WebRootPath);
...
}
}
Run Code Online (Sandbox Code Playgroud)
在ASP.NET 1.0应用程序中包含SqlServer.Types dll文件的最佳方法是什么?
非常感谢.
这对我来说都是新的,所以请耐心等待......
我正在开发一个Visual Studio项目; 它是一个返回一些数据的Web服务.
我刚刚尝试在本地计算机(IIS)上对Web服务器进行特定调用,我收到此错误:
无法加载DLL"SqlServerSpatial140.dll":找不到指定的模块
在有人说之前 - 是的,显然我错过了这个DLL文件.我在网上搜索过,看不到我从哪里下载它(我安装了Microsoft SQL Server系统CLR类型(x64)和非X64.我安装了SQL Server 2014和2016的Microsoft System CLR类型)
有谁知道如何解决这一问题?有谁知道我是否可以从某个地方下载这个文件?