相关疑难解决方法(0)

实体框架无法更新数据库

每当我保存到数据库时,我的应用程序崩溃并出现以下错误.

无法在DLL"SqlServerSpatial110.dll"中找到名为"SetClrFeatureSwitchMap"的入口点.

Windows Update和PC重新启动后,昨天下午开始出现此错误.dll未在项目中引用,也不在bin文件夹中.

我使用EF5,我可以连接到数据库并提取数据但是当我调用ObjectContext.SaveChanges()时会发生错误.

该应用程序不使用几何,所以我不知道它来自何处.

c# entity-framework

33
推荐指数
2
解决办法
2万
查看次数

无法加载SqlServerSpatial.dll

我试图在C#.Net项目中使用SqlServer Spatial CLR类型.我想使用SqlGeometry来查询我的数据库中的空间记录.

我在本地计算机上运行Visual Studio 2010中运行的单元测试,命中远程SqlServer计算机.都好.

然后,我将WCF Rest服务发布到我的本地IIS实例,该实例具有与单元测试匹配相同类库的服务,以进行一些空间查询,并且失败.

我收到一个错误说

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

我用谷歌搜索了这个并找到了许多答案 - 对我来说都没有用.我有:

  • 在GAC中注册了CLR类型
  • 安装64位,后来也安装了32位版本的VC++
  • 尝试了使用不同的Microsoft.SqlServer.Types dll版本的许多变体

我唯一没做过的,坦率地拒绝做的是在实际的SqlServer盒子上安装任何东西.这对我来说似乎没用.

在这一点上,我唯一能想到的是导致这是一个权限问题,因为它在IIS应用程序池中运行,而不是在单元测试中工作的Studio内部.

请注意,在我的项目中,我从不参考错误消息中提到的DLL.那个dll出现在sql box上,但我无法将它添加到工作室,因为它在我尝试时会给出一些消息.我在这里尝试的东西已经用完了.这是90年代dll地狱了.

.net c# sql-server clr geospatial

31
推荐指数
3
解决办法
4万
查看次数

如何在ASP.NET Core 1.0应用程序中使用SqlServer.Types/spatial类型

我们的一个类库使用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文件的最佳方法是什么?

相关的问题在这里,并在这里在计算器上.

非常感谢.

asp.net entity-framework-6 asp.net-core asp.net-core-1.0

16
推荐指数
2
解决办法
8196
查看次数

无法加载DLL"SqlServerSpatial140.dll":找不到指定的模块

这对我来说都是新的,所以请耐心等待......

我正在开发一个Visual Studio项目; 它是一个返回一些数据的Web服务.

我刚刚尝试在本地计算机(IIS)上对Web服务器进行特定调用,我收到此错误:

无法加载DLL"SqlServerSpatial140.dll":找不到指定的模块

在有人说之前 - 是的,显然我错过了这个DLL文件.我在网上搜索过,看不到我从哪里下载它(我安装了Microsoft SQL Server系统CLR类型(x64)和非X64.我安装了SQL Server 2014和2016的Microsoft System CLR类型)

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

.net sql-server dll geospatial

14
推荐指数
5
解决办法
1万
查看次数