LinuxでC#コードを実行する方法:Monoを使ったクロスプラットフォーム開発
これまで.NETを中心としたアプリケーションはWindowsオペレーティングシステム向けに開発されてきました。しかし現在、MicrosoftはMonoという新しいクロスプラットフォームアプリケーションを導入し、.NETプラットフォーム上で開発されたアプリケーションをLinux環境でも実行できるようにしました。あたかもLinuxパッケージを実行しているかのように動作し、.exeファイルを直接実行している感覚はありません。
Monoとは
Monoはオープンソースのユーティリティで、開発者がMacやLinuxなど他のプラットフォーム上で.NETアプリケーションを実行できるようにします。さらに、Windows用のインストールパッケージも提供されており、Visual Studio IDEや.NET Framework SDKをインストールすることなく、Windows OS上で.NETアセンブリのコンパイルと実行が可能です。
そのため、Monoの既存のコアCLR名前空間を活用すれば、Windows Forms、LINQ、XML Webサービス、ADO.NET、ASP.NETを使用した本番環境対応のリアルタイムアセンブリを構築できます。
まず、wgetユーティリティを使ってMonoのバイナリをダウンロードし、以下の一連のコマンドを実行して適切に設定します。
wget --no-check-certificate https://raw.github.com/nathanb/iws-snippets/master/mono-install-scripts/ubuntu/install_mono-3.0.sh chmod 755 install_mono-3.0.sh ./install_mono-3.0.sh
また、.NETバイナリをコンパイルするために、代わりにMCSパッケージもインストールしておきましょう。
root/kali:~/ sudo apt-get install mcs
C#コードのコンパイル
Monoコンソールアプリケーションの構造は、従来のC#.NETコンソールアプリケーションとほぼ同じです。最初のMonoベースのコンソールアプリケーション(test.cs)を作成するには、VIMなどの任意のコードエディタを開き、以下のコードを入力してください。
using System;
namespace test {
class test{
public static void Main(string[] args) {
System.Console.WriteLine("C# app Compiled on Kali Linux");
}
}
}
次に、ターミナルを開いて以下のコマンドを実行し、コードをコンパイルします。
root/kali:~/ mcs test.cs root/kali:~/ ls test.cs test.exe
上記のコマンドを実行すると、Windowsの場合と同様に実行可能ファイルが生成されます。続いて、./test.exeまたはmono test.exeコマンドを実行してC#バイナリを起動しましょう。以下のスクリーンショットに、ここまでの手順の全体像がまとめられています。

-
【完全解説】.NET Framework 3.5 インストールエラー 0x800f0922 の修正方法
.NET Framework 3.5 のインストールエラーコード 0x800f0922 の修正方法:このエラーが表示されると、.NET Framework をインストールできず、インストールや更新を試みるたびにエラーコード 0x800f0922 が発生してしまいます。 原因はひとつだけではありません。単純にコントロールパネルから .NET Framework 3.5 が有効化されていないことが原因の場合もありますが、PC の環境構成はユーザーごとに異なるため、この記事では問題を解決できる可能性のある対処法をすべてご紹介します。 .NET Framework 3.5 インストールエラー 0x8
-
Windowsファイアウォールがオンにできない?エラーコード0x80070422の解決方法を徹底解説
Windowsファイアウォールエラー0x80070422とは?Windowsファイアウォールを有効にしようとするとエラーコード0x80070422が表示される:ファイアウォールをオンにしようとした際にこのエラーメッセージが表示されてお困りの方は、ぜひ本記事をご覧ください。今回は、このエラーの解決方法について詳しく解説します。Windowsファイアウォールは、インターネットからシステムへ流入する情報をフィルタリングし、有害な可能性のあるプログラムの侵入をブロックする、Microsoft Windowsの重要なコンポーネントです。ファイアウォールが機能していない状態では、外部からの攻撃に対してシス