Microsoftからリリースされた最近のOSとは異なり、Longhornは開発者に対して明確なインパクトを提供するだろう。ここでは、簡単なLonghornアプリケーションの構築方法について学んでいく(日本語訳:澤田侑尚) 。
この記事は、Brent Rector氏が取り組んでいる書籍「Introducing Longhorn for Developers -Microsoft Press」の2章を抜粋したものである。現在、雑誌掲載に向けて編集中で、こちらのPDFファイルから章の全体を参照できる。
Longhornアプリケーションをビルドする前には、Longhorn Software Development Kit(SDK)またはLonghornに対応したVisual Studioをインストールする必要がある。Longhorn SDKをインストールすると、一連のスタートメニュー項目が作成され、そこからの起動が可能となる。
Windows XPの32ビットバージョンでデバッグモードのアプリケーションを起動するには、次のようにスタートメニューからたどっていけばよい。
[スタート]-[Programs]-[Microsoft Longhorn SDK]-[Open Build Environment Window]-[Windows XP 32-bit Build Environment]-[Set Windows XP 32-bit Build Environment (Debug)]
Longhornアプリケーションビルドのために最初に使うツールは「MSBuild」となる。また、その利用方法に関して詳細な情報が必要な場合は、次のようにMSBuildヘルプコマンドラインのオプションをつけて実行すればよい。
MSBuild /?
コマンドラインで何の引数も指定せずにMSBuildを実行すると、カレントの作業ディレクトリ内で「proj」で終わるファイル名を検索する。該当するファイルが見つかった場合は、そのファイルに含まれている指定文に従ってプロジェクトをビルドする。作業ディレクトリ内に複数のプロジェクトファイルがある場合は、コマンドラインからプロジェクトファイルを明示的に指定して実行すればよい。
MSBuild <プロジェクト名>.proj
MSBuildはデフォルトの設定により、プロジェクトファイルの規定のターゲットをビルドする。ユーザーはこれを上書き可能であり、また、ビルドするターゲットを指定できる。例えば、CleanBuildというターゲットをビルドするには、MSBuildを次のように起動する。
MSBuild /t:Cleanbuild
では、全てのプログラマーにとっての伝統的な手続である、"Hello World"の書き方を説明しよう。最初にApplicationオブジェクトを定義する。大体の場合において、この処理はアプリケーション定義ファイルと呼ばれるファイルの中で行う。以下のHelloWorldApplication.xamlファイルはApplicationオブジェクトを定義している。
<NavigationApplication xmlns= "http://schemas.microsoft.com/2003/xaml" StartupUri="HelloWorld.xaml" />
この記事ではApplicationオブジェクトに対して、MSAvalon.Windows.Navigation.NavigationApplicationクラスのインスタンスを使用できることを実証していく。それを始めるにあたって、アプリケーションはHelloWorld.xamlファイル内で定義されたユーザーインタフェースを表示し、ユーザーをナビゲートする必要がある。HelloWorld.xamlファイルは以下の情報を含む。
<Border xmlns=
"http://schemas.microsoft.com/2003/xaml">
<FlowPanel>
<SimpleText Foreground="DarkRed"
FontSize="14">
Hello World!</SimpleText> </FlowPanel>
</Border>
簡単なHello Worldプリケーションには、このコードが必要である。次に、アプリケーションのビルド方法を定義するプロジェクトファイルが必要になる。(コラム1参照)
プロジェクトファイルはアプリケーションのビルド方法を定義する。 このファイルおよび関連するファイルをディレクトリに配置することが必要であり、続いて対象となるファイルを含むディレクトリをナビゲートするためにLonghorn SDKコマンドプロプトを開き、MSBuildを実行する。これにより、実行可能なプログラムにコンパイルされる。
<Project DefaultTargets="Build">
<PropertyGroup>
<Property Language="C#" />
<Property DefaultClrNameSpace="IntroLonghorn" />
<Property TargetName="HelloWorld" />
</PropertyGroup>
<!--Imports the target which contains all the common targets-->
<Import Project="$(LAPI)\WindowsApplication.target" />
<ItemGroup>
<!-- Application markup -->
<Item
Type="ApplicationDefinition"
Include="HelloWorldApplication.xaml" />
<!-- Compiled Xaml Files list -->
<Item Type="Pages" Include="HelloWorld.xaml"/>
</ItemGroup>
</Project>
© Copyright 2001-2005 Fawcette Technical Publications