Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载文件或程序集';Microsoft.SqlServer.Types,版本=10.0.0.0';或者它的一个依赖项_C#_Sql Server - Fatal编程技术网

C# 无法加载文件或程序集';Microsoft.SqlServer.Types,版本=10.0.0.0';或者它的一个依赖项

C# 无法加载文件或程序集';Microsoft.SqlServer.Types,版本=10.0.0.0';或者它的一个依赖项,c#,sql-server,C#,Sql Server,最近我开始使用SSMS 2017(v17.5)。在我的MVC应用程序中,我发现无法加载文件或程序集'Microsoft.SqlServer.Types,Version=10.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91'或其依赖项之一。错误。我的应用程序中唯一改变的是Microsoft.SqlServer.Types版本,现在是14.0.0.0。以前,它是12.0.0.0 以下是根据我的研究到目前为止我尝试过的不同选择(包括另一个st

最近我开始使用SSMS 2017(v17.5)。在我的MVC应用程序中,我发现
无法加载文件或程序集'Microsoft.SqlServer.Types,Version=10.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91'或其依赖项之一。
错误。我的应用程序中唯一改变的是
Microsoft.SqlServer.Types
版本,现在是
14.0.0.0
。以前,它是
12.0.0.0

以下是根据我的研究到目前为止我尝试过的不同选择(包括另一个
stackoverflow
articles+google),但我得到了同样的错误

  • app.config

    
    

  • Application\u Start
    方法中的
    Global.asax.cs
    中添加以下行

    SqlProviderServices.sqlservertypesasemblyname=“Microsoft.SqlServer.Types,Version=14.0.0.0,Culture=neutral,PublicKeyToken=89845dcd80cc91”

  • 使用
    NuGet
    安装
    Microsoft.SqlServer.Types

    PM>安装软件包Microsoft.SqlServer.Types

  • 在整个项目中搜索
    10.0.0.0
    引用,但未找到任何引用

  • 我确实为
    2012年、2014年、2016年和
    2017年安装了用于SQL Server的
    Microsoft系统CLR类型


  • 这里缺少什么?

    Microsoft.SqlServer.Types-14.0.314.76版是当前版本。尝试更改您的版本号。第二,检查您的.csproj文件,应用程序也在.csproj文件中维护其依赖项。花了将近一天的时间,我终于解决了这个问题。从我上面的问题来看,选项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>
    
    
    
    我假设您的查询是针对SQL Server 2017运行的?您的表是否有
    hierarchyid
    列?@AaronBertrand是的,它针对2017年运行。不,该表没有
    hierarchyid
    。还有其他数据类型吗?能否显示
    CREATE TABLE
    以及索引?@CSharper生成是本地失败还是在远程服务器上失败?另外,当您提到搜索该程序集时,是否通过解决方案资源管理器进行搜索?在解决方案上方的“搜索解决方案资源管理器”文本字段中,输入
    Microsoft.SqlServer.Types
    ,然后您将看到所有引用它的项目。检查对
    Microsoft.SqlServer.Types的每个引用的属性,看看哪个引用的目标是10.0.0。0@AlwaysLearning我刚刚找到了解决方案,并在下面添加了我的答案。希望这是有意义的。谢谢。我的
    .csproj
    文件具有相同的版本。然后尝试清理您的项目,删除所有bin/lib,然后重建项目(如果您还没有尝试过)。这也没有帮助。谢谢,这一提示让我找到了修复方法。不过不完全一样。通过VS,我添加(重新?)了对项目的Microsoft.SqlServer.Types的引用(右键单击“项目”,在“扩展”下添加引用)。它增加了第13版。在我的web.config中,我只是将Version=10.0.0.0更改为Version=13.0.0.0。设法破解了这个我已经两年没碰过的老应用程序。。。