应用程序无法加载Microsoft.SqlServer.Types版本13

时间:2016-12-01 09:37:10

标签: asp.net sql-server entity-framework sql-server-2016

我遇到了许多人以前遇到的问题,但现有的答案似乎都不适合我。

当我部署我的ASP.NET项目时,我在事件日志中出现错误

  

无法加载文件或程序集“Microsoft.SqlServer.Types,Version = 13.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

为了解决这个问题,我安装了Nuget包:

  

PM>安装包Microsoft.SqlServer.Types

这不起作用,我得到同样的错误。然后我按照自述文件使用Loader.cs加载文件。同样,同样的问题。发生了什么,为什么通常的解决方案没有解决它?

我注意到的一件事是我的Microsoft.SqlServer.Types.dll版本11不是13版吗?如果它有所不同,我们的数据库是SqlServer 2016,而我们的机器正在运行Windows Server 2008

2 个答案:

答案 0 :(得分:2)

我解决这个问题的方法是在我的应用中设置EntityContext。我目前在我的DbContext构造函数[继承SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"; ]中设置它以确保其始终设置

{{1}}

注意您的版本可能想要与众不同。

答案 1 :(得分:0)

确保您参考了正确的装配版本。

如果不手动添加。

Add manually

安装nuget软件包后,您可以确保将dll引用属性设置为' copy local = true'