最近我开始使用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
文章+谷歌)但我得到同样的错误。
在<dependentAssembly>
app.config
<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>
在Global.asax.cs
方法的Application_Start
中添加以下行。
SqlProviderServices.SqlServerTypesAssemblyName = "Microsoft.SqlServer.Types, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91";
使用Microsoft.SqlServer.Types
安装NuGet
。
PM> Install-Package Microsoft.SqlServer.Types
在整个项目中搜索了10.0.0.0
referance,但没有找到任何依据。
我为Microsoft System CLR Types for SQL Server
和2012, 2014, 2016
安装了2017
。
我在这里缺少什么?
答案 0 :(得分:3)
花了差不多一天后,我才能解决这个问题。从我上面的问题来看,选项-1对我有用。只有调整是在web.config
而不是app.config
中添加。希望这有助于其他人。
代码:web.config
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
答案 1 :(得分:0)
Microsoft.SqlServer.Types -Version 14.0.314.76是当前版本。尝试更改您的版本号。其次,检查.csproj文件,Application还在.csproj文件中维护其依赖项