如何将环境变量“DOTNET_CLI_HOME”添加到.Net Systemd 服务?

Arv*_*iya 3 .net linux .net-core asp.net-core

我正在 VM 的 Ubuntu 18 中安装 Worker Service。当我使用以下命令时出现错误

\n\n
sudo systemctl start myservice.service\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误:

\n\n
 \xe2\x97\x8f myservice.service - dummyservice in .NET Loaded: loaded\n (/lib/systemd/system/myservice.service; disabled; vendor preset:\n enabled) Active: failed (Result: exit-code) since Tue 2020-05-26\n 23:53:20 IST; 10min ago Process: 3634 ExecStart=/usr/bin/dotnet\n /home/linux/bin/Downloads/myservice.dll (code=exited,\n status=1/FAILURE)\n\n May 26 23:53:19 arvind systemd[1]: Starting myservice in .NET... May\n 26 23:53:20 arvind dotnet[3634]: The user's home directory could not\n be determined. Set the 'DOTNET_CLI_HOME' environment variable to spec\n May 26 23:53:20 arvind systemd[1]: myservice.service: Control process\n exited, code=exited status=1 May 26 23:53:20 arvind systemd[1]:\n myservice.service: Failed with result 'exit-code'. May 26 23:53:20\n arvind systemd[1]: Failed to start myservice in .NET.\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的 .service 文件

\n\n
[Unit]\nDescription=my Service in .NET\n# Requires=xyz.service\n# After=xyz.service\n\n[Service]\nType=forking\nExecStart=/usr/bin/dotnet  /home/linux/Downloads/myService.dll\n\n[Install]\nWantedBy=multi-user.target\n
Run Code Online (Sandbox Code Playgroud)\n\n

我该如何解决这个问题?

\n

Arv*_*iya 6

我已添加DOTNET_CLI_HOME.service文件

Environment=DOTNET_CLI_HOME=/temp
Run Code Online (Sandbox Code Playgroud)

现在该文件看起来像这样

[Unit]
Description=my Service in .NET
# Requires=xyz.service
# After=xyz.service

[Service]
Type=simple
ExecStart=/usr/bin/dotnet  /home/linux/Downloads/myService.dll
Environment=DOTNET_CLI_HOME=/temp
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)