我遇到了许多人以前遇到的问题,但现有的答案似乎都不适合我。
当我部署我的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
答案 0 :(得分:2)
我解决这个问题的方法是在我的应用中设置EntityContext
。我目前在我的DbContext
构造函数[继承SqlProviderServices.SqlServerTypesAssemblyName
= "Microsoft.SqlServer.Types, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91";
]中设置它以确保其始终设置
{{1}}
注意您的版本可能想要与众不同。
答案 1 :(得分:0)
确保您参考了正确的装配版本。
如果不手动添加。
安装nuget软件包后,您可以确保将dll引用属性设置为' copy local = true'