>skyblueさん
現状では、基本的にどのC#コンパイラを使っても、.Netが必要だと思います
それに.Netなしでも動くということは、逆に言えば.Netをベースにしたプログラミングができないということなので、仮にネイティブなC#開発環境があっても、一般的なC#とは文法が似ているだけで、コード的にも動作的にもほとんど別物になります
System.Console.WriteLine("Hello World!");
上の1行は、C#でHello Worldと表示するだけのプログラムですが、Systemというのは、.Netが用意しているクラスライブラリです
intやbyteといった基本型でさえ.Netで用意されているクラス(構造体)ですので、コンパイラを変えればネイティブなものが作れるというほど簡単ではないです
ただ個人的には、C#の文法は好きなので、いい感じのネイティブ開発環境があれば、.Netの縛りから解放されたC#というのも使ってみたいなぁとは思います