VisualStudioCode创建的asp.net core控制台程序部署到linux

时间:2021-12-02 04:20:52

1、asp.net core控制台程序

static void Main(string[] args)
{
int times=;
while(times>=)
{
Console.WriteLine("Hello World!");
times--;
Thread.Sleep();
}
}

2、发布

发布前,修改test2.csproj文件(项目名称为test2)

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.</TargetFramework>
<RuntimeIdentifier>centos.-x64</RuntimeIdentifier>
</PropertyGroup> </Project>

主要添加 <RuntimeIdentifier>centos.7-x64</RuntimeIdentifier> 这句(如果把centos.7-x64改为win10-x64,则发布为exe程序,运行在windows上。)。

使用命令“dotnet publish”发布在test2\bin\Debug\netcoreapp2.1\centos.7-x64目录下,如下图:

VisualStudioCode创建的asp.net core控制台程序部署到linux

把所有文件上传到linux服务器(我的linux上放代码目录为/var/wwwroot/netconsole)

切到publish下(即/var/wwwroot/netconsole/publish),输入命令“dotnet test2.dll”,如下图:

VisualStudioCode创建的asp.net core控制台程序部署到linux

3、创建服务

新建自定义服务:vim /etc/systemd/system/mydotnetconsole.service,服务代码内容如下:

[Unit]
Description=dotnet console demo running on linux [Service]
WorkingDirectory=/var/wwwroot/netconsole
ExecStart=/usr/bin/dotnet /var/wwwroot/netconsole/test2.dll
Restart=always
RestartSec=
SyslogIdentifier=dotnet core console
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production [Install]
WantedBy=multi-user.target

启动服务 systemctl start mydotnetconsole.service

查看 systemctl status netconsole -l     如下图:

VisualStudioCode创建的asp.net core控制台程序部署到linux