.NETCoreを使ってCentOSでC#を動かそう!

前回紹介した記事、.NETCoreを使ってUbuntuでC#を動かそう!のCentOS版です。
.NETCoreが2.0になったのも含めて解説します。

.NETCoreって何?

マイクロソフトの開発した言語C#をLinuxシステムやMACOS、WindowsなどOSの垣根をなくして使うためのフレームワークです。
コンソールアプリケーションであれば.NETCoreで動かさない手はありません。
主に、インフラにお金をかけない小規模なシステム開発で、Linux + Javaでやっているけど、本当はC#が使いたいような人を想定しています。

今回の環境

  • CentOS7.1 64bit
  • .NETCore 2.0
  • VisualStudio2017 Community(アプリケーション開発用)

CentOSに.NETCoreをインストール

手順だけ載せていきます。

Microsoft 署名キーを登録します。

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

Microsoft 製品フィードを追加します。

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

.NET Core SDK をインストールします。

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.0

パスに dotnet を追加します。

export PATH=$PATH:$HOME/dotnet

インストールが成功したことを確認します。

dotnet --version

アプリケーション作成

今回はwindows10にて、VisualStudio2017を使いC#アプリケーションを開発してみます。
VisualStudioの導入方法などは割愛しますので、別途調べてください。

ファイルより、新規作成をクリックしプロジェクトを選択します。
図のようにVisual C#から「コンソールアプリ (.NET Core)」を選択しプロジェクトの名前を入れたらOKを押します。※コンソールアプリ(.NET Framework)を選ばないよう注意

今回はCoreTestという名前で作成しました。
すると以下のようなコードになっていると思います。

using System;
namespace CoreTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

ビルドする

ではこのプログラムをビルドしてみましょう。
上側にあるDebugとなっているコンボボックスをReleaseに変えて、ビルドタブからソリューションのビルドを選択してください。

ビルドが完成すればソフトウェアの完成です。
出来上がったソフトウェアはデフォルトでは

C:\Users\ユーザー名\Documents\visual studio 2017\Projects\CoreTest\CoreTest\bin\Release\netcoreappx.x

名前を付けたプロジェクト名.dll(今回はCoreTest.dll)として保存されていると思いますので、各自見つけてください

CentOSにコピーする

先ほどのフォルダの中に入っているソフトウェアを含めたファイル全てをCentOSに何らかの方法で送りましょう。
ftpでもオンラインストレージを経由させてwgetコマンドを使用してもOKです。
CentOSのどこかのフォルダに保存してください。

そうしたら、cdコマンドを使い、ソフトウェアファイルらを保存したフォルダに移動し、以下のコマンドを入力することでソフトウェアが実行されます。

※ソフトウェアがCoreTest.dllの場合
dotnet CoreTest.dll

いかがでしたでしょうか。Hello World!が表示されれば成功です。
お疲れ様でした。

*名前・メールアドレス・ウェブサイトは必須項目ではありません。

read next

LINE Notifyを使ってスマートフォンへメッセージを送信する