.NETCoreを使ってUbuntuでC#を動かそう!
皆さんこんにちは!
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!が表示されれば成功です。
お疲れ様でした。