<週刊 自分のごちうサーチを作る> #2 プロジェクトの構造を知る
全然週刊ペースではありませんが,前回の記事はこちらです。
今回のおしながきです。
プロジェクトに含まれているもの
作成直後はこのような状態になっている,と思います。

フォルダ(っぽいアイコン)
- References
参照している.NETアセンブリ。後述するターゲットフレームワークによって初期状態は異なります。 - Native References
ネイティブのライブラリ (.dylib, .framework) への参照を追加できます。が,ちょっとまだ解説するほど触れていません… - Components
Component Storeからコンポーネントを追加できますが,たいていモバイル向けなので,特に使う機会はないと思います。 - Packages
NuGet パッケージを追加するとこの配下にエントリが入ります。 - Assets.xcassets
アプリケーションアイコンやイメージなどアプリケーションで使うアセットを管理します。
ファイル
- AppDelegate.cs
アプリケーションのライフタイムイベント,ざっくり言えば起動して終了するまでを管理するAppDelegateクラスです。ここに書けばアプリケーション全体から参照することができるため,使い方を間違えるととても汚くなるクラスです。 - Info.plist
アプリケーション名やバンドルID,バージョン情報と言ったアプリケーションに関するメタデータを記述します。Xamarin Studioでは専用エディタで編集できますが,このエディタではすべての項目を設定することができないため,必要なときには別のテキストエディタやXcodeで編集する必要があります。 - Main.cs
アプリケーションのエントリポイントです。ネイティブライブラリのロードは最初にここで行います。 - MainMenu.xib
メインメニューのUIデザインが記述されています。Xcodeで開いて編集します。 - MainWindow.cs / .designer.cs
NSWindow クラスとXcodeとの通信に使うデザイナクラスです。特に触る必要はありません。 - MainWindow.xib
MainWindow のUIデザインが記述されています。これもXcodeで開いて編集します。 - MainWindowController.cs / designer.cs
MainWindow に紐付くコントローラクラス,またXcodeと通信するためのデザイナクラスです。デザイナクラスを直接触る必要はありません。
ターゲットフレームワーク
クローンしたプロジェクトへの参照を追加する前に,ターゲットフレームワークを変更します。プロジェクトのプロパティを開きます。MyGochiusearchプロジェクトをダブルクリックすると,プロパティウィンドウが開きます。

それぞれのフレームワークの違いは以前Qiitaにまとめました。
まずここではUnsupported Frameworkを選択してください。いろいろ選択できますが,Mono/.NET 4.5でかまいません。

参照の追加
前回クローンしたリポジトリから,以下のプロジェクトをソリューションに追加します。
- Gochiusearch
- ImageSearchEngine
MyGochiusearch ソリューションを右クリックし,Add Existing Project...です。

追加できるとこんな感じ。カッコの中はブランチ名なので特に気にする必要はありません。

ImageSearchEngineへの参照を追加します。Referencesを右クリックしてEdit Referencesです。

チェックを入れて,OKで反映します。

これで準備できました。
Windows Formsプロジェクトを動かしてみる
元アプリの動作を確認するため,Gochiusearchプロジェクトを動かしてみましょう。右クリックからRun Itemです。

mono でそのまま動作し,デバッガも使えることがわかります。
