注意:.NET Framework SDKを使用してコンパイルする方法の説明は、「.NET Framework SDKを使用する」に移動しました。
.NETプログラミングを行っている方の圧倒的多数は、その開発環境(IDE)として Microsoft Visual Studio(以下、VS)を使用していることでしょう。しかし販売されているVSはかなり高価ですので、ちょっと.NETプログラミングを試してみたいという人には敷居が高いです。幸い、無料で使用できて、しかも優れものの.NET開発環境がいくつか存在しますので、ここではそのようなものを紹介します。
なおここに書かれている情報は、古い情報かもしれないことをご了承ください。
注意:無料で使用できるアプリケーションは、使用条件が複雑で難しいことがあります。ここで書かれていることも正確ではない可能性がありますので、実際に使用する場合は、その前に必ずご自分で使用条件等をご確認ください。
(上のスクリーンショットは、Visual Studio Community 2013です。)
現在は、これが一番お勧めです。
Visual Studio Communityは、マイクロソフトが提供する、無料の.NET Framework開発環境です。機能は、Visual Studio Professionalと同等です。
利用可能なユーザーに制限があります。以下のようなユーザーが利用可能です(正確でない可能性もありますので、必ず公式サイトでご確認ください)。
Visual Studio Expressも、マイクロソフトが提供する、無料の.NET Framework開発環境です。製品版と比較すると、機能が限定されています。
今後は上記Visual Studio Communityに統合され、Expressの新しいバージョンはリリースされないそうです。よって、特別な理由がなければ、Communityを使った方が良いでしょう。
Visual Studio Expressは、以下のような幾つかのツールに分かれています。
SharpDevelopは、オープンソース(GPL)の.NET開発環境です。
対応している言語は、C#とVB.NET以外に、Boo、F#、ILAsm、IronRuby、IronPythonです。
日本語化するには、SharpDevelop-jpにある日本語リソースが必要です(現在は、4.3までのリソースしかありません)。日本語リソースを適用する方法は、パッケージ内のReadmeをご覧ください。
SharpDevelopは、多くのプログラミング言語に対応している以外にも、VSにない面白い機能が幾つもあります。例えば、C#、VB.NET、Boo、Ruby、Python間のコード変換ができます。
デザイン等がVSと似ていますので、VSに慣れている人にも使いやすいでしょう。
MonoDevelopは、Linux、Windows、Mac OSXで動作するMonoの開発環境です。Windowsでは、Microsoft .NET Frameworkでコンパイルすることもできます。
SharpDevelopがバージョン3からMonoの対応をやめましたので(ソースには含まれているようです)、Monoの開発環境として貴重な存在です。
MonoDevelopはSharpDevelopを基にして作られたようで、操作性などSharpDevelopと似たような感じです。
対応している言語は、バージョン7.3で、C#、F#、Visual Basic .NET、Valaです。
Visual Studio Code(以下、VS Code)は、マイクロソフトが開発した、Mac OS X、Linux、およびWindowsで動作するコードエディタです。商用使用でも、無料で使用できます(詳しくは、「License - Visual Studio Code」をご覧ください)。IDEと言えるほどの機能はないかもしれませんが、その分軽いです。
標準でJavaScriptやTypeScriptなどの言語に対応していますが、Marketplaceで公開されている拡張機能をインストールすることで、さらに多くのプログラミング言語に対応します。
.NETについて言えば、.NET Coreの開発環境として使用するというのが主のようです。C#で.NET Coreの開発を行うには、「C# for Visual Studio Code (powered by OmniSharp)」という拡張機能を使用します。これにより、シンタックスハイライト、IntelliSense、デバッグなどの機能が使えるようになります。この拡張機能を使用するには、.NET Core SDKもインストールする必要があります。なお、.NET Core SDKは64bit版でないとデバッグはできないようです。
補足:VS Codeで.NET Core開発を始める具体的な方法は、「C# および Visual Studio Code の使用を開始する」が参考になります。
.NET Coreではなく、.NET FrameworkとMonoを対象とした拡張機能としては、「CS-Script - VSCode Extension (CS-Script.VSCode)」があります。これは、C#のコードをスクリプトとして実行するCS-Scriptの拡張機能版です。使用するには、Monoと、拡張機能の「C# for Visual Studio Code」と「Mono Debug」をインストールする必要があります。Monoは、binディレクトリにパスを通しておく必要があります。
Notepad++は、Windowsで動作する、オープンソース(GPL)のコードエディタです。シンタックスハイライトや自動補完など、コードを書くときに役に立つ機能がいろいろあります。
Notepad++のプラグインである「CS-Script Plugin (CSScript.Npp)」を使用すれば、C#のIntelliSenseや実行、デバッグなどの機能を使用できるようになります。
Notepad++は無料で使用できますが、寄付も受け付けています。
以下に紹介するものは、今では古くなってしまった開発環境です。現在は、入手できないか、できたとしてもおすすめできません。
「Improve C# Plugin for Eclipse」(リンク切れ)は、EclipseのC#用のプラグインです。
EclipseはJavaの開発環境として有名で、かなりの優れものですが、C#のためのプラグイン「Improve C# Plugin for Eclipse」は残念ながら、これといった機能はありません。シンタックスハイライトと、Eclipseからのコンパイラの起動(「ウィンドウ」-「設定」-「Set the C# compiler path」でパスを指定する必要があります)ぐらいしか出来ません(content assistant というC#のキーワードをリストで列挙する機能がありますが、私には役に立つ機能とは思えません)。
ただしLinuxでも動くため、Monoとともに使うことにより、Linuxで.NET開発することが可能となる利点があるようです。
C#用のEclipseプラグインには、他に以下のようなものがあります。
注意:「Turbo C# Explorer 2006」と「Turbo Delphi for .NET Explorer 2006」は現在入手可能かわかりません。
Turbo C# ExplorerとTurbo Delphi for .NET Explorerは、Borland社が無料で提供している.NET用の開発環境です。Explorerエディションはカスタムコンポーネントの追加などができませんが、Windowsアプリケーションや、ASP.NETアプリケーションの開発が可能です。商用開発に使用することも可能です。ただし両者とも、.NET Framework 1.1がターゲットです。また、Turboはひとつのコンピュータに別の製品をインストールできないため、これらを両方インストールすることはできません(Turbo C++ for WindowsやTurbo Delphi for Windows、Borland Developer Studioをインストールしていれば、インストールできません)。
注意:「Borland C#Builder Personal ダウンロード版」は現在入手可能かわかりません。Turbo C# Explorerに変わったと考えてよさそうです。
「Borland C#Builder Personal ダウンロード版」はDelphiなどでおなじみのBorlandが無料で提供している.NET用の開発環境です。日本語版もちゃんとあります。対応言語はC#のみのようです。無料とは思えないほど機能は充実していますが、ライセンスで、「商業開発は不可。自分のいかなる著作物も他の人に配布することはできません。」とあるため、学習目的以外での使用は難しいでしょう(ライセンスは、例えばフォルダ"C:\Program Files\Borland\BDS\1.0"の"license.txt"にあります)。
機能的には申し分ありませんが、ちょっと使ってみて不便に感じたのは、Windowsフォームプロジェクトにおいて、Trace.Write、Debug.Write、Console.Writeなどでの出力が表示されないことです。いろいろ探してみたのですが、IDEの設定により表示させる方法がわかりませんでした。もしかしたら表示できないのかもしれません。(方法が分かる方はご一報ください。)
Visual Studioとの連携ということで言えば、Microsoft Visual Studio C# プロジェクト(*.csproj)を読み込むことができますが、Microsoft Visual Studio VB プロジェクト(*.vbproj)は「プロジェクトを開く」の「ファイルの種類」に表示されるにもかかわらず、実際には読み込めませんでした。
また、C#Builderで作成したプロジェクトは、Microsoft Visual Studio C# プロジェクト(*.csproj)にエクスポートすることもできます。
繰り返しになりますが、作成したあらゆるものを配布できないようなので、学習目的以外では使えませんが、学習目的であれば、かなり快適に使えます。
注意:「WebMatrix」は現在入手可能かわかりません。
Microsoft WebMatrix 2は、Webアプリケーションの開発環境です。APS.NETやHTMLだけでなく、PHPやNode.jsもサポートしています。
コードエディタには、Intellisenseのコード補完機能があります。WordPressなど一部のアプリケーションでは、そのアプリケーションの関数を補完入力できる機能もあります。
IIS Expressがインストールされるため、IISがインストールされていない環境でもテストすることができます。データーベースは、「SQL Server Compact」がインストールされます。
「アプリギャラリー(Webギャラリー)」機能を使うと、Wordpress、.DotNetNuke、Joomla!、Umbraco、MediaWiki、phpBBなどの定番Webアプリケーションを簡単に作成できます。
「拡張機能ギャラリー」機能を使うと、iPhoneやiPadのシミュレーターなど、様々な機能を利用できるようになります。NuGetで公開されているパッケージをインストールすることもできます。
補足:昔のASP.NET Web Matrixはなくなったようです。
(この記事はメールマガジン「.NETプログラミング研究」の第14号で紹介したものを編集したものです。)