Dot-net核心控制台应用程序在几天后自动停止工作



我在dot net core 3.1中创建了一个控制台应用程序,它在运行时更改现有json文件的值。我使用以下命令创建了exe文件:

dotnet publish-r win-x86-c Release/p:PublishSingleFile=true/p:publish Trimmed=true

这是我的应用程序的代码:

static void Main (string[] args) {
try {
// blah blah.. some code to get liscence period
if (DateTime.Now <= liscencePeriod) {
var processor = new JsonDataProcessor ();
processor.AmmendJsonData ();
} 
}
} catch (Exception ex) {
var errorFile = Path.Combine (Environment.CurrentDirectory, "JsonEditorError.txt");
File.WriteAllText (errorFile, $"{ex.Message}");
}

}
//AmmendJsonData code inside JsonDataProcessor class
internal void AmmendJsonData () {
try {
var jsonPath = Path.Combine (Environment.CurrentDirectory, "AVLJsonFile.json");
var jsonData = File.ReadAllText (jsonPath);
var jsonSchema = JsonConvert.DeserializeObject<Root> (jsonData);
ChangeJsonContent (jsonSchema);
var newJson = JsonConvert.SerializeObject (jsonSchema, Formatting.Indented);
File.WriteAllText (jsonPath, newJson);
} catch (Exception ex) {
throw ex;
}
}

这个exe在几天内运行良好,但之后它停止工作,json文件中的数据也不会改变。。我也没有任何错误。请告诉我这里出了什么问题。

if(DateTime.Now<=liscencePeriod(。。。如果这是错误的,它将不会做任何事情,也不会给出任何错误。您必须添加带有警告消息的其他。

正如我从代码中看到的,您的应用程序运行一个,然后停止执行。为什么会这样?因为你没有任何循环(while/for/etc(

最新更新