.NET アプリケーションを Visual Studio から Eclipse にマイグレートする

Emonic プラグインと NAnt によって Eclipse に .NET と C# の機能を追加する

Eclipse プラグインである Emonic を使ってオープンソースの C# アプリケーションを開発する方法と、既存の Microsoft® .NET Framework V2.0 プロジェクトに対して Eclipse を使うための方法を学びましょう。

Jimmy Liao (sjliao@tw.ibm.com), Software Engineer, IBM

Jimmy Liao は台北にある Mobility Collaboration Development and Test チームのソフトウェア・エンジニアです。その前には組み込み Java の開発とテストの領域で業務を行っており、また組み込みシステムの開発経験があります。



2008年 4月 22日

Eclipse は Java™ や他のプログラミング言語を容易にサポートすることができます。しかし最近まで、Eclipse で C# プロジェクトをビルドし、実行し、デバッグすることは困難でした。この記事では Emonic (Eclipse Mono Integration) と NAnt の使い方を説明します。この 2 つは Eclipse で利用できる最も強力な C# ツールキットであり、また .NET ツールキットです。この記事が対象としている開発者は、.NET に関する実際的な知識を持ち、Eclipse に慣れており、そして Eclipse で C# と .NET を効果的に処理する方法を必要とする人達です。

C# と .NET の概要

Microsoft は 2001年に C# をリリースしました。C# はオブジェクト指向のプログラミング言語であり、.NET Framework の一部です。C# は C++ をベースとする手続き型でオブジェクト指向の構文を使用しており、また Java 技術、Delphi、そして Eiffel の影響を受けています。C# は .NET Framework での汎用言語として使われることを目的としています。一方 . NET Framework はクラス・ライブラリーの集合であり、開発者はこれを C# や他の言語による独自のコードと組み合わせて Windows アプリケーションを作成することができます。

Mono プロジェクトと DotGNU プロジェクトはオープンソースの C# コンパイラーであり、.NET Framework のライブラリーのほとんどすべてのバージョンを実装しています。どちらも、UNIX® から派生した、あるいは UNIX の影響を受けたオペレーティング・システムと Windows 上で動作します。Microsoft は Windows 以外のオペレーティング・システム用の独自の C# コンパイラーと C# 環境として、「Rotor」と呼ばれるものを提供しています。しかしライセンスの制約から Rotor アプリケーションを商用環境にデプロイすることはできず、そのため Rotor の使い道も制限されています。

C# で作成されたアプリケーションは通常、Windows® デスクトップやサーバー、モバイルのオペレーティング・システムにデプロイされる .NET Framework で実行されます (囲み記事「C# と .NET の概要」を参照)。Eclipse Platform には C や C++ での開発をサポートするために CDT (C Development Toolkit) が提供されていますが、CDT を C# 開発に使うことはできません。いくつかの Eclipse プラグインは .NET Framework で動作しますが、すべてのものが最新のバージョン (この記事の執筆時点では V3.5) をサポートしているわけではありません。

この記事では、Eclipse Platform 用の本格的な C# 環境である、Emonic の使い方を説明します。Emonic の開発者達はプロジェクトのインストール方法や作成方法を紹介したドキュメンテーションを提供していますが、そうしたマニュアルに従って既存の C# プロジェクトを処理するのは簡単ではありません。この記事では、何も予備知識なしに C# プロジェクトをインストールし、ビルドし、実行するための手順を説明します。ここでは .NET プロジェクトの自動ビルドと実行に NAnt を使います。またこの記事では、既存の Visual Studio® プロジェクトをマイグレートする方法を、サンプル・プロジェクトを使って説明します。

Emonic と NAnt の紹介

Emonic の概要

Eclipse のプラグインである Emonic を利用すると、Mono または Microsoft .NET Framework を使って C# プログラムを作成することができます。さらに、プロジェクト・ウィザードを使って C# プロジェクトを作成することもできます。図 1 は Emonic プラグインを使った C# プロジェクトを示しています。

図 1. Emonic プラグインを使った C# プロジェクトの例
Emonic プラグインを使った C# プロジェクトの例

NAnt の概要

Emonic には、プロジェクト・ウィザード、エディター、自動ビルダー、ランチャー、そしてこの 4 つすべての使い方を説明したチュートリアルが提供されていますが、私は Emonic のみを使ってアプリケーションの作成と起動を行うために非常に苦労しました。そうした苦労から、Emonic を扱える、使いやすいビルド・ツールを探してみました。それをまとめたものが、この記事です。ここでは NAnt というビルド・ツールを紹介し、さらに既存の C# プロジェクトを Eclipse のワークスペースにインポートする方法を説明します。

NAnt は無料の .NET ビルド・ツールであり、その動作は Ant と似ています。NAnt は V1.0 から V3.5 までの .NET Framework をサポートしています。ここでは最新リリースである NAnt V0.86 beta 1 を使用し、これがアプリケーションのビルドと起動にどう役立つのかを説明します。


システム要件

以下のものが必要です。

  • Eclipse V3.1 以降。ここでは Eclipse Europa を使用しました。
  • .NET V2.0 SDK -- これは Windows 環境で作業する必要があるということです。「C# と .NET の概要」で触れたように、.NET Framework を使用するための環境の大部分はオープンソース開発者によって再構築されていますが、すべてが再構築されたわけではありません。この記事の目的は Eclipse で C# アプリケーションを開発する方法を説明することであり、Mono や DotGNU、Rotor による C# アプリケーションの開発方法を説明することが目的ではないので、そうした課題は上級読者の演習問題としておきます。
  • NAnt V0.86 beta 1
  • Emonic
  • Microsoft .NET Framework V2.0 SDK のサンプル

ダウンロードについては「参考文献」を参照してください。


Emonic プラグインと NAnt をインストールする

Emonic プラグインをインストールする

Emonic をインストールする方法は 2 つあり、1 つは更新サイトで Eclipse を更新する方法、もう 1 つは SourceForge から Emonic をダウンロードする方法です。この例では更新サイトを使います。そのための手順は次のとおりです。メニューからヘルプ > ソフトウェア更新 > 検索およびインストール > インストールする新規フィーチャーを検索の順に選択します。新規リモート・サイトをクリックし、http://emonic.sourceforge.net/updatesite/internap/site.xml と入力します。

Emonic プラグインをインストールして Eclipse を再起動したら、プロジェクト・ウィザードを使ってブランクの C# プロジェクトを作成します。図 2 は Eclipse で C# プロジェクトを作成するためのウィザードを示しています。

図 2. Eclipse で .NET プロジェクトを作成するウィザード
Eclipse で .NET プロジェクトを作成するウィザード

NAnt のダウンロードとインストール

最新のビルドは NAnt V0.86 beta1 です。これを SourceForge からダウンロードして解凍し、通例の場所にインストールするか、あるいはパス変数に NAnt ディレクトリーを設定します。


.NET サンプル・プロジェクトをインポートする

Microsoft .NET Framework V2.0 SDK のサンプルを MSDN からダウンロードし、解凍します。これらのサンプルには多くのサンプル・プロジェクトが含まれています (Visual Basic や C# など)。この記事では、Technologies\Networking\WebClientSample\CS の中にある WebClientSample を使います。

プロジェクトの構造

図 3 は C# プロジェクトの構造をエクスプローラー・ビューで見たものです。

図 3. C# プロジェクトの構造
C# プロジェクトの構造

C# プロジェクトからのインポート

Eclipse に C# プロジェクトをインポートします。

  1. プロジェクト・ウィザードを使ってブランクの .NET プロジェクトを作成し、それに WebClientSample という名前を付けます。.NET のプロジェクトを作成するウィザードの中でターゲット・フレームワークとして Microsoft-2.0 を選択し、そしてこのウィザードを終了します。
  2. このプロジェクトを右クリックし、インポート (Import) を選択し、ファイル・システム (File System) を使って WebClientSample ディレクトリーを選択したら、終了 (Finish) をクリックします。
  3. build.xml はデフォルトのビルド構成ファイルです。リスト 1 は作成されたプロジェクトとしてのデフォルトのファイルを示しています。
リスト 1. デフォルトの build.xml ファイル
<?xml version='1.0'?>
<project basedir='.' default='all' name='WebClientSample2'>
  <property name='nant.settings.currentframework' value='net-2.0'/>
  <property name='build' value='bin'/>
  <property name='src' value='src'/>
  <target name='all'/>
</project>
  1. ターゲット出力ファイルとソースコード・ディレクトリー、リソース、そしてリファレンス・ライブラリーを指定する必要があります。リスト 2 は build.xml の例を示しています。
リスト 2. WebClientSample 用の build.xml ファイル
<?xml version='1.0'?>
<project basedir='.' default='all' name='WebClientSample'>
  <property name='nant.settings.currentframework' value='net-2.0'/>
  <property name='build' value='bin'/>
  <property name='src' value='src'/>
    <target depends='WebClientSample' name='all'/>
    <target name='WebClientSample'>
    <csc debug='true' optimize='true' output='${build}/WebClientSample.exe' target='exe' 
                warninglevel='4'>
      <sources>
        <include name='**/*.cs'/>
      </sources>
      <resources dynamicprefix="true">
        <include name='**/*.resx'/>
        <include name='${src}/Resources/*.bmp'/>
      </resources>
      <references>
        <include name='System.dll'/>
        <include name='System.Data.dll'/>
          <include name='System.XML.dll'/>
        </references>
    </csc>
    </target>
</project>

.NET SDK サンプル・プロジェクトから WebClientSample をインポートした後の C# プロジェクトの構造を Package ビューを使って表示したものが図 4 です。

図 4. Package ビューで表示した C# プロジェクト
Package ビューで表示した C# プロジェクト

ビルド、実行、そしてデバッグ

2 つの外部プログラム、Build_WebClientSample と Run_WebClientSample を作成する必要があります。図 5 は Build_WebClientSample を示しています。Location (場所) には NAnt.exe のパスを選択することを忘れないでください。図 6 はこの NAnt 外部ツールによるコンソールを示しています。

図 5. Build_WebClientSample
Build_WebClientSample
図 6. Build_WebClientSample のコンソール
Build_WebClientSample console

このサンプルを実行するためには、build.xml を右クリックし、Run As (実行) > Open External Tools Dialog (外部ツールのダイアログを開く)の順に選択して Run_WebClientSample を作成します。Arguments (引数) には Web サイトの URL を入力します (例えば www.google.com など)。図 7 は Run_WebClientSample を示しており、また図 8 は Run_WebClientSample の対話型コンソールを示しています。

図 7. Run_WebClientSample
Run_WebClientSample
図 8. Run_WebClientSample のコンソール
Run_WebClientSample console

まとめ

これで Emonic と NAnt の基本的な知識が得られ、またこの両方を使って Eclipse で .NET アプリケーションを作成する方法と、既存の C# プロジェクトを Eclipse にマイグレートする方法を理解することができました。

参考文献

学ぶために

  • Eclipse 用の別の C# プラグインが Improve C# Plug-in for Eclipse に説明されています。
  • developerWorks の記事「Eclipse C/C++ Development Toolkit を使ってアプリケーションを開発する」を読み、Standard Template Library と CDT を使って C++ アプリケーションを作成する方法を学んでください。
  • Eclipse の推奨読み物リスト」を調べてみてください。
  • developerWorks には他にも Eclipse に関する資料が豊富に用意されています。
  • Eclipse が初めての人は、developerWorks の記事「Eclipse Platform 入門」を読んでください。Eclipse の起源やアーキテクチャー、またプラグインを使って Eclipse を拡張する方法などを学ぶことができます。
  • IBM developerWorks の Eclipse project resources を利用して Eclipse のスキルを磨いてください。
  • developerWorks podcasts では、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
  • developerWorks の Technical events and webcasts で最新情報を入手してください。
  • IBM のオープンソース技術や製品機能を調べ、学ぶために、無料の developerWorks On demand demos. をご覧ください。
  • IBM オープンソース開発者にとって関心のある、世界中で今後開催される会議や業界展示会、ウェブキャスト、その他のイベントについて調べてみてください。
  • developerWorks の Open source ゾーンをご覧ください。オープンソース技術を使った開発や、IBM 製品でオープンソース技術を使用するためのハウ・ツー情報やツール、プロジェクトの更新情報など、豊富な情報が用意されています。

製品や技術を入手するために

議論するために

  • Eclipse に関する質問を議論するために最初に選択する場所として、Eclipse Platform newsgroups があります (このリンクを選択すると、デフォルトの Usenet ニュース・リーダー・アプリケーションが起動し、eclipse.platform が開きます)。
  • Eclipse newsgroupsには、Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。
  • developerWorks blogs から developerWorks のコミュニティーに加わってください。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=311788
ArticleTitle=.NET アプリケーションを Visual Studio から Eclipse にマイグレートする
publish-date=04222008