如何在 ServiceStack 5.0 项目中使用 ServiceStack 4.0 的服务模型?
How can I use a Service Model from ServiceStack 4.0 in a ServiceStack 5.0 Project?
我已经开始将我们的众多 ServiceStack 服务之一从 .Net Framework 迁移到 .Net Core。大部分迁移都相对顺利,但我 运行 遇到了服务模型问题。此服务依赖于使用仍在 4.0 版上的其他 ServiceStack 服务。当我尝试在新项目中使用来自这些服务的服务模型时,我收到一条错误消息,指出 IReturn<> 接口特别需要 4.0 版程序集,而不需要 ServiceStack.Interfaces 的 5.0 版。仅降级 ServiceStack.Interfaces 会导致类似的错误,但相反,依赖于该程序集的其他所有内容都需要 5.0 版。有没有办法升级一个项目而不升级每个项目?我想我们都知道真正的系统需要一个过渡期,而且不可能同时迁移所有服务。
请阅读此答案中的现有链接:
TL;DR 你不能共享同一个 .dll,你要么需要多目标,要么通过使用 C# 添加 ServiceStack 引用来解耦二进制依赖。
其他解决方案是使用旧的框架项目引用旧编译的 ServiceModell.dll(替代多目标)或只复制您需要的 DTO 的源代码(替代 C# 添加 ServiceStack 引用)。
我已经开始将我们的众多 ServiceStack 服务之一从 .Net Framework 迁移到 .Net Core。大部分迁移都相对顺利,但我 运行 遇到了服务模型问题。此服务依赖于使用仍在 4.0 版上的其他 ServiceStack 服务。当我尝试在新项目中使用来自这些服务的服务模型时,我收到一条错误消息,指出 IReturn<> 接口特别需要 4.0 版程序集,而不需要 ServiceStack.Interfaces 的 5.0 版。仅降级 ServiceStack.Interfaces 会导致类似的错误,但相反,依赖于该程序集的其他所有内容都需要 5.0 版。有没有办法升级一个项目而不升级每个项目?我想我们都知道真正的系统需要一个过渡期,而且不可能同时迁移所有服务。
请阅读此答案中的现有链接:
TL;DR 你不能共享同一个 .dll,你要么需要多目标,要么通过使用 C# 添加 ServiceStack 引用来解耦二进制依赖。
其他解决方案是使用旧的框架项目引用旧编译的 ServiceModell.dll(替代多目标)或只复制您需要的 DTO 的源代码(替代 C# 添加 ServiceStack 引用)。