gpt4 book ai didi

c# - 服务堆栈 3.9.* 至 4.*

转载 作者:行者123 更新时间:2023-12-02 07:57:42 25 4
gpt4 key购买 nike

我正在尝试将服务中的 ServiceStack 从 3.9.43 更改为 4.0.9。

我必须更改代码中的几处内容,并且大部分遵循 release notes for this .

对我来说有一些奇怪的事情,比如找不到任何东西来替换 ServiceStack.WebHost.EndpointsAppHostHttpListenerLongRunningBase 但我可以在之后检查这些东西并且能够使我的代码能够编译。

问题是,当我运行代码时,我一开始就遇到此异常,它只会终止服务:

程序集“ServiceStack,Version=4.0.9.0,Culture=neutral,PublicKeyToken=null”中类型“ServiceStack.Host.ServiceController”中的方法“ExecuteMessage”没有实现。

我在击中底座时得到这个:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack;
using ServiceStack.Text;
//using ServiceStack.WebHost.Endpoints;
using ServiceStack.Web;


namespace ThisService {
public class AppHost : AppHostHttpListenerPoolBase { //AppHostHttpListenerLongRunningBase {
public AppHost(int wthreadMax)
: base("This Service " + VcsInfo.ChangesetId, wthreadMax, typeof(ThisService).Assembly) {
}
...

我在我的项目中引用:服务堆栈(4.0.9.0);ServiceStack.Client;ServiceStack.Common;ServiceStack.接口(interface);ServiceStack.Text

我确信我在更改版本 4.* 时做错了什么,并且对尝试调用执行消息的内容感到迷失,因为我认为删除了以前版本中的所有内容。对我应该去哪里有什么建议吗?

顺便说一句,这是一个简单的服务:获取 json -> 数学+东西 -> 返回 json。

我想知道我在版本 3.9.43 中发现的错误是否仍然出现在版本 4.0.9 中(无法找到有关该错误的任何具体内容,但我相信其中的一个修复与之相关),看看我是否真的应该这样做重构此版本的代码。

最佳答案

v4.10 中的更新

现在应该在 ServiceStack v4.10 中解决此问题现在,所有 NuGet 包都为与当前版本匹配的所有依赖项指定最低版本。这将强制 NuGet 拉取最新的包,而不是最旧的匹配包。

<小时/>

NuGet 似乎有一个奇怪的行为,当您安装软件包时,它会引入最低的依赖项,因此如果您安装最新版本的 ServiceStack,例如:

PM> Install-Package ServiceStack -Version 4.0.9

它将引入最低的匹配依赖项,例如:

<package id="ServiceStack.Client" version="4.0.3" targetFramework="net45" />
<package id="ServiceStack.Common" version="4.0.3" targetFramework="net45" />
<package id="ServiceStack.Interfaces" version="4.0.3" targetFramework="net45" />
<package id="ServiceStack.Text" version="4.0.3" targetFramework="net45" />

这是一个意想不到的惊喜。不幸的是,ServiceStack 假设它始终使用与其构建版本相同的最新依赖项。

因此,安装 ServiceStack 后,您需要更新所有软件包,使它们与最新版本保持一致,您可以在 NuGet UI 的更新选项卡中轻松完成此操作,或者在NuGet 包控制台管理器:

PM> Update-Package

手动删除任何程序集重定向

安装之前的 ServiceStack v4.02(现已删除)为 Web 中的 ServiceStack.Interfaces 创建了新的程序集重定向 .config,如果存在,您还应该手动删除它们。现在不应为新项目创建这些。

关于c# - 服务堆栈 3.9.* 至 4.*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21618804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com