CentOS にインストールした.NET Core でコンソールアプリケーションを動かす


はじめに

.NET Core SDKをインストールしたCentOS上で、ASP.NET Coreではなく.Net Core Console Applicationを実行する方法です。

.NET Core SDKのインストールについては、下記を参照ください。

 

準備

今回は、Mac側のVisual Studio でビルドし、CentOSにビルドしたモジュールをコピーして実行します。

まず、Visual Studio で下記の様に作成します。

namespace SampleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello world");
        }

    }
}

上記の様に記載したあとに、ビルドします。

ビルド後下記の様なファイル郡が出来上がります。

SampleApp.deps.json
SampleApp.dll
SampleApp.exe
SampleApp.pdb
SampleApp.runtimeconfig.dev.json
SampleApp.runtimeconfig.json

今回CentOS側で実際に利用するファイルは下記のみですが、とりあえずフォルダごとコピーしちゃいます。

SampleApp.dll
SampleApp.runtimeconfig.json

早速コピーします

$ scp -r /Users/myuser/Documents/WorkProject/SampleApp/SampleApp/bin/Debug/netcoreapp3.1/ myuser@10.211.55.4:/tmp/SampleApp

SampleApp.deps.json               100%  397   326.3KB/s   00:00    
SampleApp.dll                     100% 4608     3.5MB/s   00:00    
SampleApp.runtimeconfig.dev.json  100%  159   171.0KB/s   00:00    
SampleApp.pdb                     100%  764   988.2KB/s   00:00    
SampleApp.exe                     100%  168KB  62.3MB/s   00:00    
SampleApp.runtimeconfig.json      100%  146    70.3KB/s   00:00 

コピーが完了したら、実行してみましょう

$ dotnet /tmp/SampleApp/SampleApp.dll
Hello world

問題なく実行できました。

 

さいごに

業務等で利用する場合は、基本的にVisual Studioでプログラムを作成し、その作成したものを可動サーバにデプロイすると思います。

cronとかで定期的に実行するアプリケーションも起動できます。

是非ためしてみてください。