.NET Core/5 IConfiguration 不适用于 Ubuntu 20.10 x64 Raspberry Pi 4 4GB
.NET Core/5 IConfiguration does not work on Ubuntu 20.10 x64 on Raspberry Pi 4 4GB
在过去 11 个月左右的时间里,我的 32 bit Raspbian
上安装了多个应用程序,运行 它们完全没有问题。
最近,我想尝试使用 MongoDB,我需要一个 64 bit OS
版本来获取最新版本,所以我决定使用 Ubuntu Desktop 20.10 x64
。安装 Ubuntu
后,我尝试启动我的一个应用程序,看看是否一切正常,但事实并非如此。起初,我认为这是 .NET 5
的问题(我迁移了该应用程序只是为了看看它是否有效),但是 .NET Core 3.1
的问题仍然存在,尽管它在 [= 之前工作得很好36=]开关。
问题是 IConfiguration
没有 appsettings.json 文件的值。 IConfiguration
包含 appsettings.json 和 appsettings.Production.json 作为提供者,提供者包含我定义的部分,这些部分包含定义的键,但所有这些都只有空值。
我无法 运行 dotnet 的 32 bit
版本,所以我无法真正查明问题出在哪里。有谁知道为什么会那样做?
请注意,我还尝试了 运行ning 我曾经在 Raspbian
上托管的另一个 .NET Core
应用程序,它不是我开发的,我得到了同样的结果。一切都坏了,因为配置坏了。
主要问题是我没有像在我的 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
在过去 11 个月左右的时间里,我的 32 bit Raspbian
上安装了多个应用程序,运行 它们完全没有问题。
最近,我想尝试使用 MongoDB,我需要一个 64 bit OS
版本来获取最新版本,所以我决定使用 Ubuntu Desktop 20.10 x64
。安装 Ubuntu
后,我尝试启动我的一个应用程序,看看是否一切正常,但事实并非如此。起初,我认为这是 .NET 5
的问题(我迁移了该应用程序只是为了看看它是否有效),但是 .NET Core 3.1
的问题仍然存在,尽管它在 [= 之前工作得很好36=]开关。
问题是 IConfiguration
没有 appsettings.json 文件的值。 IConfiguration
包含 appsettings.json 和 appsettings.Production.json 作为提供者,提供者包含我定义的部分,这些部分包含定义的键,但所有这些都只有空值。
我无法 运行 dotnet 的 32 bit
版本,所以我无法真正查明问题出在哪里。有谁知道为什么会那样做?
请注意,我还尝试了 运行ning 我曾经在 Raspbian
上托管的另一个 .NET Core
应用程序,它不是我开发的,我得到了同样的结果。一切都坏了,因为配置坏了。
主要问题是我没有像在我的 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