无法加载文件或程序集“Microsoft.SqlServer.Types,Version = 10.0.0.0”或其中一个依赖项

时间:2018-04-09 18:11:19

标签: c# sql-server

最近我开始使用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文章+谷歌)但我得到同样的错误。

  1. <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>

  2. Global.asax.cs方法的Application_Start中添加以下行。

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

  3. 使用Microsoft.SqlServer.Types安装NuGet

    PM> Install-Package Microsoft.SqlServer.Types

  4. 在整个项目中搜索了10.0.0.0 referance,但没有找到任何依据。

  5. 我为Microsoft System CLR Types for SQL Server2012, 2014, 2016安装了2017

  6. 我在这里缺少什么?

2 个答案:

答案 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文件中维护其依赖项