2016-12-01 40 views
0

我有一个问题,许多人以前曾有过但现有的答案似乎没有为我工作。应用程序无法加载Microsoft.SqlServer.Types版本13

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

无法加载文件或程序集“Microsoft.SqlServer.Types,版本= 13.0.0.0,文化=中立, PublicKeyToken = 89845dcd8080cc91'或它的一个依赖关系。定位的程序集清单定义与程序集引用不匹配。 (异常来自HRESULT:0x80131040)

要尽量纠正这一点,我安装了NuGet包:

PM>安装,包装Microsoft.SqlServer.Types

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

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

+0

Chris你能解决这个问题吗?即时通讯有类似的问题,并完成所有试图解决它的标准方法。 – InitLipton

+1

@InitLipton是的,我实际上,我刚刚添加了一个答案 – Chris

回答

1

我解决了这个是设置在我的应用程序的SqlServerTypesAssemblyName的方式。我目前在[继承关DbContext],以确保我EntityContext构造函数设置其始终设置

SqlProviderServices.SqlServerTypesAssemblyName 
      = "Microsoft.SqlServer.Types, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"; 

请注意您的版本可能要有所不同。

0

请确保您引用了正确的程序集版本。

如果不是手动添加。 Add manually

一旦安装了NuGet包,你可以确保dll引用属性设置为“复制本地=真正的”

+0

谢谢,但nuget包似乎不包含v13,任何想法在哪里得到它? – Chris

+0

@ KT.Thor我有“复制本地”=真,参考是版本13,但Visual Studio仍然表示它想要使用版本10。 – SezMe

相关问题