我在本地https://puu.sh/yEWG5/b4f77fba7b.png
上安装了这些CLR类型另外,我在我的本地系统上安装了SQL server 2016,但是当我尝试运行该项目时,我收到如下错误
https://puu.sh/yEWQm/78a4220830.png
有人可以帮忙吗?我尝试从https://www.nuget.org/packages/Microsoft.SqlServer.Types/安装最新的nugget包,但它没有用。
虽然我能够在本地数据库的表中添加一个类型为geography的列。当我运行我的项目时,它在运行时失败,错误如下所示
答案 0 :(得分:0)
根据文档,如果您已安装CLR类型,则应从GAC加载,因此我不确定为什么这对您不起作用。 (我会检查你是否有正确的版本作为你的依赖)
但是,我们在应用程序中使用SQLServerTypes而不使用以下方法安装CLR类型(此方法在SqlServerTypes附带的readme.htm中描述)。
抓住SqlServerTypes.nupkg并将其解压缩到一个文件夹,从现在开始调用此文件夹SST。 (我在以下步骤中讨论的文件的位置可能因版本而异,但原理相同)
现在,您需要做的就是在应用程序启动时调用Loader。 我们在autofac设置期间通过此次调用来执行此操作。
Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory)
您可能需要调整传递给此方法的参数以使用您的应用程序。如果使用了正确的路径,您应该可以访问代码中的空间类型。
编辑:如果你已经在应用程序中安装了nuget软件包,可以直接调用LoadNativeAssemblies(并避免我上面发布的所有工作)但是,我没有测试过这个,因为我们被困在一个旧的版本的SqlServerTypes。
答案 1 :(得分:0)