- 追加された行はこの色です。
- 削除された行はこの色です。
#title(.NETプログラミング研究 第14号)
#navi(.NET プログラミング研究)
#contents
*.NETプログラミング研究 第14号 [#j8f552ab]
**ピンポイントリンク [#sf486060]
***無料の.NET開発環境 [#xade1e9b]
#column(注意){{
この記事の最新版は「[[無料の.NET開発環境>http://dobon.net/vb/dotnet/links/freedotnetide.html]]」で公開しています。
}}
.NETプログラミングをしている方の圧倒的多数は、その開発環境(IDE)として、 Microsoft Visual Studio .NETを使用していることと思います。しかしVS.NETは、ただ趣味として.NETプログラミングをかじってみたいという人にとっては高価であり、敷居が高すぎます。幸い、Microsoft .NET Framework SDK にてC#やVB.NET等のコンパイラが無料で提供されていますので、これらを使うことにより、お金をかけずに.NET対応のソフトを作成することが出来ます。
.NET Framework SDKのみを使っての開発となると、まず適当なテキストエディタでコードを書き、適当なコマンドによりコンパイラを起動してコンパイルするという、かなり面倒で、さらにはバグの入り込む危険性の多い方法にならざるを得ません。
しかしこれまた幸いなことに、オープンソースブームのおかげか、フリーの.NET開発環境もいくつかあるようです。ここでは無料で使用できる.NETの開発環境を探し、使ってみることを目的とします。
***.NET Framework SDKのインストール [#s504197c]
まずは基本となる.NET Framework SDKのインストール方法について簡単に説明します(VS.NETがインストールされていれば、すでにインストールされています)。なお、.NET Framework SDKに必要なシステムやインストール手順に関しては次のページに詳しく書いてあります。
-[[Microsoft .NET Framework SDK のリリース情報>http://www.microsoft.com/japan/msdn/netframework/downloads/sdk_readme.asp]]
インストールの手順は次のようになります。
1.Microsoft Internet Explorer 5.01 またはそれ以上をインストールします。最新バージョンが次のページからダウンロードできます。
http://www.microsoft.com/japan/ie/
2.MDAC 2.6 以上をインストールします。推奨はMDAC 2.7 の使用です。MDACは次のページからダウンロードできます。
http://www.microsoft.com/japan/developer/data/
3.APS.NETの開発をするには、IISをインストールします。.NET Framework SDKをインストールする前にインストールしましょう。
4.Microsoft .NET Framework をインストールします。Microsoft .NET Framework Version 1.1 再頒布可能パッケージは次のページからダウンロードできます。
http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&DisplayLang=ja
5.Microsoft .NET Framework Version 1.1 日本語 Language Packをインストールします。次のページからダウンロードできます。
http://www.microsoft.com/downloads/details.aspx?FamilyId=04DBAF2E-61ED-43F4-8D2A-CCB2BAB7B8EB&displaylang=ja
6.Visual J# .NET を使用する場合は、Microsoft Visual J# .NET Version 1.1 再頒布可能パッケージ及び、Microsoft Visual J# .NET Version 1.1 再頒布可能パッケージ Language Packをインストールします。それぞれ次のページからダウンロードできます。
-[[Microsoft Visual J# .NET Version 1.1 再頒布可能パッケージ>http://www.microsoft.com/downloads/details.aspx?FamilyID=e3cf70a9-84ca-4fea-9e7d-7d674d2c7ca1&DisplayLang=ja]]
-[[Microsoft Visual J# .NET Version 1.1 再頒布可能パッケージ Language Pack>http://www.microsoft.com/downloads/details.aspx?FamilyID=BE368516-FDCD-47C7-BC63-EFE92E895791&displaylang=ja]]
7.ここでようやく、Microsoft .NET Framework SDK をインストールします。.NET Framework SDK Version 1.1は次のページからダウンロードできます。
http://www.microsoft.com/downloads/details.aspx?FamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=ja
.NET Framework SDKをインストールするだけでかなり大変でしたね。
***.NET Framework SDKのコンパイラを使う [#fbebb8a3]
ここで.NET Framework SDKのコンパイラをちょっと使ってみましょう。コンパイラのあるディレクトリには通常パスが通っていませんので、頻繁に使う場合はパスを通しておくことをお勧めします(コンパイラのあるディレクトリは.NET SDK 1.1の場合、例えば"C:\Windows\Microsoft.NET\Framework\v1.1.4322"のようになります)。以下の例ではパスが通っているものとします。もしパスが通っていない時は、コンパイラのファイル名をフルパスで表記してください。
まずは次のようなつまらないコードをテキストエディタで書いて、hello.csとして保存します。
#code(csharp){{
using System;
class HelloClass
{
static void Main()
{
Console.WriteLine("こんにちは、世界!");
}
}
}}
hello.csをコンパイルするには、コマンドプロンプトで次のコマンドを実行します。
csc hello.cs
これでhello.exeという実行ファイルが作成されたことと思います。
上記のように簡単な例では苦労はありませんでしたが、多少複雑になってくると、だんだん面倒なことになってきます。次は、Windows Formの例です。form.csというファイル名で保存します。
#code(csharp){{
using System;
using System.Windows.Forms;
public class HelloForm : Form
{
public static void Main()
{
Application.Run(new HelloForm());
}
public HelloForm()
{
TextBox textBox1 = new TextBox();
textBox1.Text = "こんにちは、世界!";
this.Controls.Add(textBox1);
}
}
}}
コンパイルするためのコマンドは例えば次のようになります。
csc /target:winexe /r:System.dll;System.Windows.Forms.dll /out:helloform.exe form.cs
"/target:winexe"により、Windowsプログラムの作成を指定します。これがないとコンソールアプリとなり、フォームは表示されますが、コマンドプロンプトウィンドウが表示されます。
"/r:System.dll;System.Windows.Forms.dll"は、System.dll と System.Windows.Forms.dll をインポートすることを示しています。(/r は /reference の省略形です。)
"/out:helloform.exe"は、"helloform.exe"という名前のファイルに出力することを示しています。
コンパイラのオプションに関してはヘルプで詳しく説明されていますので、詳しくはそちらをご覧ください。
-[[C# コンパイラ オプション>http://www.microsoft.com/japan/msdn/library/ja/cscomp/html/vcrefCompilerOptions.asp]]
-[[Visual Basic コンパイラ オプション>http://www.microsoft.com/japan/msdn/library/ja/vblr7/html/vaoriVisualBasicCompilerOptions.asp]]
また、.NET Framework SDKを使ったプログラミングに関しては次のページも参考になります。ただし、記事がベータ版に基づいて作成されており、正式版とはかなり違っています。
-[[Insider.NETフォーラム - .NET Framework SDKで始める.NETプログラミング(前編)>http://www.atmarkit.co.jp/fdotnet/special/dotnet_sdk/dotnetsdk01.html]]
***無料の.NET開発環境を探す [#k6a2bcd4]
.NET Framework SDKのみを用いたプログラミングがいかに大変で面倒なものかお分かりいただけたでしょうか?(ちっとも面倒でないという方はこれ以上お読みいただく必要はないでしょう。)そこで、お金を全くかけずに(パソコンとOS代は除く)、出来る限りVS.NETと同じように快適な.NET開発環境を目指して、無料のソフトを探してみることにします。
***Borland C#Builder Personal ダウンロード版 1.0 [#y673ec64]
「Borland C#Builder Personal ダウンロード版」はDelphiなどでおなじみのBorland社が無料で提供している.NET用の開発環境です。日本語版もちゃんとあります。対応言語はC#のみのようです。無料とは思えないほど機能は充実していますが、ライセンスで、「商業開発は不可。自分のいかなる著作物も他の人に配布することはできません。」とあるため、学習目的以外での使用は難しいでしょう(ライセンスは、フォルダ"C:\Program Files\Borland\BDS\1.0"の"license.txt"にあります)。
-[[Borland - C#Builder for the Microsoft .NET Framework>http://www.borland.co.jp/csharpbuilder/]]
-[[C#Builder ダウンロード>http://www.borland.com/products/downloads/download_csharpbuilder.html]]
機能的には申し分ありませんが、ちょっと使ってみて不便に感じたのは、Windowsフォームプロジェクトにおいて、Trace.Write、Debug.Write、Console.Writeなどでの出力が表示されないことです。いろいろ探してみたのですが、表示させる方法がわかりませんでした。もしかしたら表示できないのかもしれません。(方法が分かる方はご一報ください。)
また、ヘルプで調べたい語句をコードで選択して、F1キーによりへプルで調べるということもできませんでした。
VS.NETとの連携では、Microsoft Visual Studio C# プロジェクト(*.csproj)を読み込むことができますが、Microsoft Visual Studio VB プロジェクト(*.vbproj)は「プロジェクトを開く」の「ファイルの種類」に表示されるにもかかわらず、実際には読み込めませんでした。
また、C#Builderで作成したプロジェクトは、Microsoft Visual Studio C# プロジェクト(*.csproj)にエクスポートすることもできます。
繰り返しになりますが、作成したあらゆるものを配布できないようなので、学習目的以外では使えませんが、学習目的であれば、今のところ一番のお勧めです。
***SharpDevelop 0.95 [#v3f9c34c]
オープンソース(GPL)の.NET開発環境です。言語はC#とVB.NETに対応しています(他の言語もプラグインにより使用できるようになるかもしれません)。Webアプリのための機能は後回しになっている(あるいはやらない?)ようです。見かけや動作など、VS.NETにかなり似せて作られているため、VS.NETユーザーにはとっつきやすいでしょう。しかしまだベータ版のため、不完全な機能が多いことも確かです。過剰な期待はできません。
-[[SharpDevelop>http://www.icsharpcode.net/OpenSource/SD/]]
そのままでも日本語はほぼ問題なく使えるようですが(日本語表示にするには、「Tools」-「Options」-「UI Language」で「Japanese」を選びます)、SharpDevelop-jp で配布されているファイルを使うことにより、いくつかの不都合が修正されます。
-[[SharpDevelop-jp - FrontPage>http://sharpdevelop-jp.sourceforge.jp/index?FrontPage]]
SharpDevelopのインストールに関しては、SharpDevelop-jpの次のページに詳しいです。
-[[SharpDevelop-jp - インストール方法>http://sharpdevelop-jp.sourceforge.jp/index?%5B%5B%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%CA%FD%CB%A1%5D%5D]]
SharpDevelopの特筆すべき点として、フォームのデザイナと、入力候補を表示する機能の2点を挙げておきます。
まず、VS.NETのようにフォームをWYSIWYGでデザインできます。ただし現在は不完全で、C#でのみ対応しており、MainMenuコントロールのデザインが出来なかったりします。
さらに、入力候補を表示する機能があり、文字列の後に"."を入力すると、適当なプロパティやメソッドの一覧が表示され、簡単に入力することが出来ます。
そのほかにも、テンプレート補完機能や、MessageBox Wizardなど、面白い機能もいろいろあります。また、Windows 98/Meでも動作するようです。
デバッガは付いてないようなので、.NET SDKのMicrosoft LCR Debuggerを使ってデバッグしなければならないでしょう。
VS.NETとの連携ということでは、「ファイル」-「Import solution」により、Solution file(*.sln)を読み込むことが出来ます。ただしそのままでは、変換後日本語は文字化けします。ファイルをUTF-8にしてからインポートするとうまく行くようです。
ともかくまだベータ版ということで、これからに期待したいところです。
***Microsoft ASP.NET Web Matrix v0.6.812 [#qe188627]
マイクロソフトが提供しているフリーのASP.NET用開発環境です。言語はVB.NET,C#,J#に対応しています。
-[[ASP.NET Web Matrix>http://www.asp.net/webmatrix/]]
特筆すべき特徴は、WYSIWYGでのデザインが可能な点です。それ以外は、コードのカラーリング程度の機能しかありません。
また、IISがインストールされていなくてもテストが出来るという変わった機能もあります。これはIISの使えない環境ではとても使える機能でしょう。
VS.NETと比較すると、VS.NETでは分離コードファイルを作成するのに対して、Web Matrixでは単一ファイルとなります(VS.NETでも単一ファイルページを作成できますが、制限が多いです)。大規模な開発には不向きでしょうが、例えばBrinksterの無料サービスでは分離コードの使用が不可になったようなので、考え方によってはむしろ使える場面もありそうです。
-[[Brinkster - General and General SE Solution .NET FAQs >http://www.brinkster.com/GeneraldotNETFAQs.asp]]
なおWeb Matrixに関しては、@ITに記事があります。
[[Insider's Eye - ASP.NET開発のハードル下げるWeb Matrix>http://www.atmarkit.co.jp/fdotnet/insiderseye/20021009webmatrix/webmatrix.html]]
***Improve C# Plugin for Eclipse 2.0.1 [#gc02da85]
これは、EclipseのC#用のプラグインです。Eclipse及び、Improve C# Plugin for Eclipseについて詳しくは次のページをご覧ください。
-[[eclipse.org>http://www.eclipse.org/]]
-[[Improve C# Plugin for Eclipse>http://www.improve-technologies.com/alpha/esharp/]]
EclipseはJavaの開発環境として有名で、かなりの優れもののようですが、C#のためのプラグイン「Improve C# Plugin for Eclipse」は残念ながら、これといった機能はありません。コードのカラーリングと、Eclipseからのコンパイラの起動(「ウィンドウ」-「設定」-「Set the C# compiler path」でパスを指定する必要があります)ぐらいしか出来ません(content assistant という機能がありますが、私には役に立つ機能とは思えません)。
ただしLinuxでも動くため、Mono C# Compiler とともに使うことにより、Linuxで.NET開発することが可能となる利点があるようです。
-[[Mono>http://www.go-mono.com/]]
**第12号の修正と補足 [#n1bf8cd9]
.NETプログラミング研究第12号の「POP3メールサーバーからメールを受信する」内のVB.NETのサンプルに間違いがありました。
''誤:''
#code(vbnet){{
'メール数の取得
Dim mailsCount As Integer = _
Integer.Parse(msg.Split(" "c)(1))
mails = New String(mailsCount) {}
}}
''正:''
#code(vbnet){{
'メール数の取得
Dim mailsCount As Integer = _
Integer.Parse(msg.Split(" "c)(1))
mails = New String(mailsCount - 1) {}
}}
このVB.NETのサンプルは同第12号で紹介した「C# to VB.NET Translator」で変換したものを一部修正したものなのですが、この間違いは見落としていました。
またこのことから「C# to VB.NET Translator」は配列の大きさを指定して初期化するコードは正しく変換されないらしいということが分かりました。
例:「C# to VB.NET Translator」では、
int[] i = new int [10] {};
は
Dim i(10) As Integer
と変換されます。正しくは、
Dim i(9) As Integer
です。
-[[C# to VB.NET Translator>http://www.aspalliance.com/aldotnet/examples/translate.aspx]]
**コメント [#x9fb3057]
#comment
//これより下は編集しないでください
#pageinfo([[:Category/.NET]],2003-08-13 (水) 04:10:00,DOBON!,2010-03-21 (日) 00:32:41,DOBON!)