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

Table of Content

皆さんこんにちは!
C#いいですよね、とても書いていて気持ちいい言語だと思います

現在当サークルのDiscord会議で稼働しているアイドル、TUSBちゃんはC#で作られたBOTです。

しかしC#は今までwindowsでしか動きませんでした。
もちろんMonoやWineなどのサードパーティのものを使えば動かすことはできましたが、公式ではありません。
Xamarinなんかもありましたが使い勝手はいまいち・・・

そこで最近出てきた.NETCoreを使ってLinuxでC#やF#で書いたソフトウェアを動かそうという魂胆です。
.NETCoreの詳しい解説は割愛しますので、気になる人は調べてみてくださいな。

 

今回の環境

  • Ubuntu 16.0.4 64bit
  • .NETCore 1.0.4
  • VisualStudio2017 Community(アプリケーション開発用)

 

インストール

まずパッケージを最新の状態にします。

sudo apt-get update
sudo apt-get upgrade

次に、.NetCoreのリポジトリとAPTキーを追加する

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893

もう一回アップデート

sudo apt-get update

最後にパッケージとしてインストールする。

sudo apt-get install dotnet-dev-1.0.4

以上で.NetCoreのインストールは終了です。続いて、Windowsで何かアプリケーションを作成してみます。

 

アプリケーション作成

今回は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)として保存されていると思いますので、各自見つけてください

Ubuntuにコピーする

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

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

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

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

2017年7月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

ブログ統計情報

統計情報の取得中に問題が発生しました。後ほど、もう一度お試しください。
%d人のブロガーが「いいね」をつけました。