![](/img/trans.png)
[英]Deploy .Net Core Console App to Raspberry PI and Remote Debug
[英]How to execute a .NET Core console application on startup as a (daemon) service for the raspberry pi
我想知道如何在树莓派上将 dotnet 控制台应用程序作为服务运行。
我可以通过键入 '''./dotnet/garagedeur_pi/publish/Garageeur''' 手动启动应用程序
我创建了一个 Garageeur.Service 文件:
Description=Garagedeur
[Service]
ExecStart=/home/pi/dotnet/garagedeur_pi/publish/Garagedeur.dll
WorkingDirectory=/home/pi/dotnet/garagedeur/pi/publish
#Restart=always
#RestartSec=10
User=pi
[Install]
WantedBy=multi-user.target
当我检查状态时,我得到了这个:
● Garagedeur.service - Garagedeur
Loaded: loaded (/lib/systemd/system/Garagedeur.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2020-02-17 12:09:49 CET; 11min ago
Process: 1142 ExecStart=/home/pi/dotnet/garagedeur_pi/publish/Garagedeur.dll (code=exited, status=200/CHDIR)
Main PID: 1142 (code=exited, status=200/CHDIR)
Feb 17 12:09:49 raspberrypi systemd[1]: Started Garagedeur.
Feb 17 12:09:49 raspberrypi systemd[1142]: Garagedeur.service: Changing to the requested working directory failed: No such file or directory
Feb 17 12:09:49 raspberrypi systemd[1142]: Garagedeur.service: Failed at step CHDIR spawning /home/pi/dotnet/garagedeur_pi/publish/Garagedeur.dll: No such file or directory
Feb 17 12:09:49 raspberrypi systemd[1]: Garagedeur.service: Main process exited, code=exited, status=200/CHDIR
Feb 17 12:09:49 raspberrypi systemd[1]: Garagedeur.service: Failed with result 'exit-code'.
任何帮助是极大的赞赏。
解决方案:
只需阅读错误消息,就会看到garagedeur/pi/ 与garagedeur_pi/ 不同。 Garageeur.dll 和 Garageeur 之间也存在差异 – M. Spiller 2 月 17 日 11:33
您可以在此处查看如何使用 Nginx 在 Linux 上创建服务文件Host ASP.NET 。 在您的服务文件中,您必须添加 .NET 安装的位置,如下所示:
ExecStart=/usr/bin/dotnet /home/pi/dotnet/garagedeur_pi/publish/Garagedeur.dll
这里有一个例子:
[Unit]
Description=Garagedeur
[Service]
ExecStart=/usr/bin/dotnet /home/pi/dotnet/garagedeur_pi/publish/Garagedeur.dll
WorkingDirectory=/home/pi/dotnet/garagedeur/pi/publish
Restart=always
RestartSec=10
User=pi
[Install]
WantedBy=multi-user.target
路径/usr/bin/dotnet
取决于您是否安装了 .NET。 在我的树莓/home/pi/dotnet-arm32/dotnet
这条路径是/home/pi/dotnet-arm32/dotnet
。 您可以使用命令找到正确的路径
dotnet --info
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.