我们正在.NET Core 7中开发一个worker服务。该服务从文件中读取JSON并将其反序列化为模型。
模型为:
public class MWRoot
{
public string? Authority { get; set; }
public string? ShopNo { get; set; }
}
Json是:
{
"Authority": "lbg",
"ShopNo": "1397"
}
代码:
using (StreamReader r = new StreamReader(jsonfile, true))
{
string json = r.ReadToEnd();
MWRoot mwProperty = JsonSerializer.Deserialize<MWRoot>(json);
}
在Visual Studio 2022中调试程序时,没有任何问题,但将其用作Windows服务(sc create "ServiceName" binpath=.....
)时,会引发此异常:
不支持对没有无参数构造函数、单个参数化构造函数或用“JsonConstructorAttribute”注解的参数化构造函数的类型进行反序列化。
1条答案
按热度按时间wlzqhblo1#
THX给Jeroen
我按照https://learn.microsoft.com/en-us/dotnet/core/extensions/windows-service发布了WorkerService,这意味着并非所有必需的文件都被复制到了目标目录
删除“生成单个文件”中的复选框时,服务工作正常。