C# .NET Core/5 IConfiguration在Raspberry Pi 4 4GB上的Ubuntu 20.10 x64上不起作用

C# .NET Core/5 IConfiguration在Raspberry Pi 4 4GB上的Ubuntu 20.10 x64上不起作用,c#,raspberry-pi,ubuntu-20.04,asp.net-core-5.0,C#,Raspberry Pi,Ubuntu 20.04,Asp.net Core 5.0,在过去11个月左右的时间里,我的32位Raspbian上安装了多个应用程序,运行这些应用程序没有任何问题。 最近,我想试用MongoDB,我需要一个64位OS版本来获得最新版本,所以我决定使用Ubuntu Desktop 20.10 x64。安装了Ubuntu之后,我试着启动我的一个应用程序,看看是否一切正常。起初,我认为这是.net5的问题(我迁移应用程序只是为了看看它是否有效),但.netcore3.1也存在问题,尽管它在操作系统切换之前工作得很好 问题在于,IConfiguration没有

在过去11个月左右的时间里,我的
32位Raspbian
上安装了多个应用程序,运行这些应用程序没有任何问题。 最近,我想试用MongoDB,我需要一个
64位OS
版本来获得最新版本,所以我决定使用
Ubuntu Desktop 20.10 x64
。安装了
Ubuntu
之后,我试着启动我的一个应用程序,看看是否一切正常。起初,我认为这是
.net5
的问题(我迁移应用程序只是为了看看它是否有效),但
.netcore3.1
也存在问题,尽管它在操作系统切换之前工作得很好

问题在于,
IConfiguration
没有appsettings.json文件的值
IConfiguration
包含appsettings.json和appsettings.Production.json作为提供程序,提供程序包含我定义的部分,部分包含定义的键,但所有这些部分上都只有空值

我无法运行32位版本的dotnet,因此无法真正确定问题的根源。有人知道为什么会这样吗


需要注意的是,我还尝试运行了另一个
.NET Core
应用程序,我曾经在
Raspbian
上托管过该应用程序,它不是我开发的,我得到了相同的结果。一切都会中断,因为配置已中断。

主要问题是我没有像在Raspberry上安装Ubuntu之前那样,在App.service文件中定义
WorkingDirectory
变量。我用一个应用程序测试了这一点,设置变量时它工作,不设置时不工作

App.service文件应如下所示:

[Unit]
Description=App

[Service]
WorkingDirectory=/var/www/App/
ExecStart=dotnet /var/www/App/App.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=App
Environment=ASPNETCORE_URLS="http://localhost:5000"

[Install]
WantedBy=multi-user.target

您的配置看起来怎么样?您是如何阅读的?@PavelAnikhouski
“AppSettings”:{“Tokens”:[“token_val”]}
是我用于讨论中的特定应用的部分,我正在使用
configuration.GetSection(“AppSettings”).Get()来解析它们。它适用于Windows,在我将RPi操作系统更改为64位之前也可以使用,因此代码应该没有问题。