【问题标题】:Could not load file or assembly ServiceStack.Interfaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=e06fbc6124f57c43无法加载文件或程序集 ServiceStack.Interfaces,Version=4.0.0.0,Culture=neutral,PublicKeyToken=e06fbc6124f57c43
【发布时间】:2018-04-20 02:17:07
【问题描述】:

升级到ServiceStack 5.0.2后遇到如下错误

无法加载文件或程序集 ServiceStack.Interfaces, 版本=4.0.0.0,文化=中性,PublicKeyToken=e06fbc6124f57c43

这是我的项目文件中的引用

<PackageReference Include="ServiceStack" Version="5.0.2" />
<PackageReference Include="ServiceStack.Api.Swagger" Version="5.0.2" />
<PackageReference Include="ServiceStack.Text" Version="5.0.2" />

这是从VS看到的参考。

我在项目文件中没有“ServiceStack.Interfaces”引用。所以它以某种方式间接引用。

我不知道为什么它在引用 ServiceStack 5.0.2 时尝试加载旧版本 4.0.0.0

所以我打算在 app.config 中添加绑定重定向,但后来我发现这是不可能的。

在二进制文件夹中,我确实看到了ServiceStack.Interfaces.dll。它的版本是5.0.0.0,但它的PublicKeyToken 是空的。它不允许重定向绑定。

我尝试在下面添加直接引用,但这并不能解决我的问题。

为什么要加载旧版本?

【问题讨论】:

    标签: servicestack


    【解决方案1】:

    删除您的 NuGet /packages 文件夹并再次从 NuGet 恢复。您应该只有 ServiceStack v5.0.2 依赖项,如果您有任何其他版本,您仍然有旧的包引用仍需要升级到 v5.0.2。

    【讨论】:

    • 首先,没有packages文件夹,因为它是PackageReference而不是Reference;其次,在输出二进制文件夹中,我确实看到 ServiceStack 程序集是 5.X
    • @Mr.WangfromNextDoor 有些东西仍在引用较旧的 v4.x 部门。检查 Web.config 中的任何 4.0.0.0 引用(或解决方案中的全文搜索),这是 .NET Framework 还是 .NET Core 应用程序?
    • @Mr.WangfromNextDoor 您还应该删除您的/bin/obj 文件夹,因为它可能会在升级过程中变脏。如果这没有帮助,还请尝试使用 nuget locals all -clear 清除 NuGet 缓存。
    • 它是一个针对 .NET Framework 的 .NETCORE 应用程序,请检查这个问题:stackoverflow.com/questions/49933196/…
    • ,已经尝试删除了,我认为问题是因为组装家庭的混乱。
    猜你喜欢
    • 2016-08-28
    • 1970-01-01
    • 2019-03-18
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    相关资源
    最近更新 更多