相关疑难解决方法(0)

在Azure上找不到"Microsoft.SqlServer.Types"版本10或更高版本

我正在尝试在ASP.NET MVC 4中创建一个webapi.webapi使用了Entity Framework 5 Spatial类型,我编写了一个非常简单的代码.

  public List<Area> GetAllAreas()
    {
        List<Area> aList = db.Areas.ToList();
        return aList;
    }
Run Code Online (Sandbox Code Playgroud)

区域包含DbGeometry.

当我运行这个本地它工作,但当我发布到azure它给我这个错误:

空间类型和函数不适用于此提供程序,因为无法找到程序集"Microsoft.SqlServer.Types"版本10或更高版本.

有谁知道如何解决这个问题?:)

谢谢!

asp.net-mvc entity-framework azure

90
推荐指数
7
解决办法
5万
查看次数

无法加载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万
查看次数

标签 统计

.net ×1

asp.net-mvc ×1

azure ×1

c# ×1

clr ×1

entity-framework ×1

geospatial ×1

sql-server ×1