如何解决.netcore中的FileLoadException

时间:2018-10-07 20:28:25

标签: asp.net-core asp.net-core-2.1

我有一个针对net472的asp.net核心应用。它对引用版本14的Microsoft.SqlServer.Types使用nuget包。

但是,当我在Visual Studio中运行该应用程序或将其部署到Azure时,会抛出此异常,表明无法加载版本10。

我想做的是使用此库中的SqlHierarchyId类型。

  

System.IO.FileLoadException     HResult = 0x80131040     消息=无法加载文件或程序集'Microsoft.SqlServer.Types,版本= 1.0.0.0.0,文化=中性,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

我该如何解决?

1 个答案:

答案 0 :(得分:0)

解决方法是使用以下命令添加一个app.config:

<?xml version="1.0" encoding="utf-8"?>

<configuration>
    <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>
</configuration>

请注意,添加此项目后,请清理并重建项目以确保其生效。