┏第14号━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃         .NETプログラミング研究         ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜メニュー ■ピンポイントリンク ・無料の.NET開発環境 ■第12号の修正と補足 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 ─────────────────────────────── ■ピンポイントリンク ─────────────────────────────── ●無料の.NET開発環境 .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のインストール まずは基本となる.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のコンパイラを使う ここで.NET Framework SDKのコンパイラをちょっと使ってみましょう。 コンパイラのあるディレクトリには通常パスが通っていませんので、 頻繁に使う場合はパスを通しておくことをお勧めします(コンパイラ のあるディレクトリは.NET SDK 1.1の場合、例えば"C:\Windows \Microsoft.NET\Framework\v1.1.4322"のようになります)。以下の例 ではパスが通っているものとします。もしパスが通っていない時は、 コンパイラのファイル名をフルパスで表記してください。 まずは次のようなつまらないコードをテキストエディタで書いて、 hello.csとして保存します。 //[C#]・・・・・・・・・・・・・・・・・・・・・・・・・・・・ using System; class HelloClass { static void Main() { Console.WriteLine("こんにちは、世界!"); } } //・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ hello.csをコンパイルするには、コマンドプロンプトで次のコマンド を実行します。 csc hello.cs これでhello.exeという実行ファイルが作成されたことと思います。 上記のように簡単な例では苦労はありませんでしたが、多少複雑にな ってくると、だんだん面倒なことになってきます。次は、Windows Formの例です。form.csというファイル名で保存します。 //[C#]・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 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開発環境を探す .NET Framework SDKのみを用いたプログラミングがいかに大変で面倒 なものかお分かりいただけたでしょうか?(ちっとも面倒でないとい う方はこれ以上お読みいただく必要はないでしょう。)そこで、お金 を全くかけずに(パソコンとOS代は除く)、出来る限りVS.NETと同じ ように快適な.NET開発環境を目指して、無料のソフトを探してみるこ とにします。 ★Borland C#Builder Personal ダウンロード版 1.0 「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 オープンソース(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 マイクロソフトが提供しているフリーの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 これは、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号の修正と補足 ─────────────────────────────── .NETプログラミング研究第12号の「POP3メールサーバーからメールを 受信する」内のVB.NETのサンプルに間違いがありました。 誤: 'メール数の取得 Dim mailsCount As Integer = _ Integer.Parse(msg.Split(" "c)(1)) mails = New String(mailsCount) {} 正: 'メール数の取得 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 =============================== ■このマガジンの購読、購読中止、バックナンバー、説明に関しては  次のページをご覧ください。  http://www.mag2.com/m/0000104516.htm ■発行人・編集人:どぼん!  http://dobon.net  dobon@bigfoot.com ■ご質問等はメールではなく、掲示板へお願いいたします。  http://dobon.net/bbs ■上記メールアドレスへのメールは確実に読まれる保障はありません  (スパム、ウィルス対策です)。メールは下記URLのフォームメール  から送信してください。  http://dobon.net/mail.html Copyright (c) 2003 DOBON! All rights reserved. ===============================