【发布时间】:2018-04-10 03:35:43
【问题描述】:
最近我开始使用 SSMS 2017 (v17.5)。在我的 MVC 应用程序中,我收到 Could not load file or assembly 'Microsoft.SqlServer.Types, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. 错误。我的应用程序中唯一改变的是Microsoft.SqlServer.Types 版本,现在是14.0.0.0。以前,它是12.0.0.0。
以下是我迄今为止根据我的研究尝试过的不同选项(这包括另一篇 stackoverflow 文章 + google),但我遇到了同样的错误。
-
在
app.config中添加<dependentAssembly><dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="10.0.0.0-11.0.0.0" newVersion="14.0.0.0" /> </dependentAssembly> -
在
Application_Start方法的Global.asax.cs中添加以下行。SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"; -
使用
NuGet安装Microsoft.SqlServer.Types。PM> Install-Package Microsoft.SqlServer.Types 在整个项目中搜索
10.0.0.0引用,但未找到任何引用。我确实为
2012, 2014, 2016和2017安装了Microsoft System CLR Types for SQL Server。
我在这里错过了什么?
【问题讨论】:
-
我假设您的查询是针对 SQL Server 2017 运行的?你的表有
hierarchyid列吗? -
@AaronBertrand 是的,它针对 2017 年运行。不,该表没有
hierarchyid。 -
还有其他古怪的数据类型吗?您能否将
CREATE TABLE连同索引一起显示? -
@CSharper 构建是在本地失败还是在远程服务器上失败?另外,当您提到搜索该程序集时,您是否通过解决方案资源管理器进行搜索?在解决方案上方的“搜索解决方案资源管理器”文本字段中,输入
Microsoft.SqlServer.Types,然后您将看到所有引用它的项目。检查每个对Microsoft.SqlServer.Types的引用的属性,看看哪个是针对 10.0.0.0 -
@AlwaysLearning 我刚刚找到了解决方案并在下面添加了我的答案。希望这是有道理的。谢谢。
标签: c# sql-server