【问题标题】:How can I use a Service Model from ServiceStack 4.0 in a ServiceStack 5.0 Project?如何在 ServiceStack 5.0 项目中使用来自 ServiceStack 4.0 的服务模型?
【发布时间】:2018-12-20 19:14:09
【问题描述】:

我已经开始将我们的众多 ServiceStack 服务之一从 .Net Framework 迁移到 .Net 核心。大多数迁移都比较顺利,但我遇到了服务模型的障碍。此服务依赖于使用仍在 4.0 版上的其他 ServiceStack 服务。当我尝试在新项目中使用这些服务中的服务模型时,我收到一条错误消息,指出 IReturn 接口需要专门的 4.0 版程序集,而不需要 5.0 版的 ServiceStack.Interfaces。仅降级 ServiceStack.Interfaces 会导致类似的错误,但相反,依赖于该程序集的所有其他内容都需要 5.0 版。有没有办法在不升级每个项目的情况下升级一个项目?我想我们都知道真实的系统需要一个过渡期,而且没有办法同时迁移所有服务。

【问题讨论】:

    标签: servicestack service-model


    【解决方案1】:

    请阅读此答案中的现有链接:

    https://stackoverflow.com/a/51252374/85785

    TL;DR 您不能共享同一个 .dll,您需要使用 C# 添加 ServiceStack 引用来实现多目标或解耦二进制依赖项。

    其他解决方案是让旧框架项目引用旧编译的 ServiceModell.dll(替代多目标)或仅复制所需 DTO 的源代码(替代 C# 添加 ServiceStack 参考)。

    【讨论】:

    • 感谢您的回复。我已经安装了 ServiceStack.Interfaces 4.5.8 和 ServiceStack.Interfaces.Core。在我尝试使用的请求模型中,它仍然给出了一个关于需要在 IReturn 上专门引用 4.0 的错误。我的意思是多目标?
    • @Sorrien 查看链接答案的底部,其中包括指向多个目标的项目的链接stackoverflow.com/a/49417944/85785
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多