泥庭

2011年2月20日

アプリケーション管理の概要 – アプリケーション定義

Filed under: .NET, WPF — タグ: , , — yone64 @ 12:10 AM

サクサク行きましょう。第3回

WPF アプリケーション定義は Application の派生クラスで、特別な Microsoft ビルド エンジン (MSBuild) 設定を使用して構成します。

http://msdn.microsoft.com/ja-jp/library/ms743714.aspx#The_Application_Definition

というわけで、WPFアプリケーションプロジェクトまたはWPF ブラウザー アプリケーション プロジェクトには、デフォルトでApplicationクラスを継承したAppクラスのマークアップと分離コードが含まれています。

image

「App.xaml」(マークアップ)と「App.xaml.cs」(分離コード)がそれですね。内容は、MSDNにあるとおりです。
また、App.xamlはアプリケーション定義としてcsprojファイル内でApplicationDefinitionタグで指定がなされています。

<ApplicationDefinition Include="App.xaml">
  <Generator>MSBuild:Compile</Generator>
  <SubType>Designer</SubType>
</ApplicationDefinition>

この設定により、ビルド時にMSBuildでコードが自動生成されます。
自動生成されるコードはソリューションエクスプローラーで、すべてのファイルを表示を選択することにより確認できます。(下図のApp.g.i.csがそれに当たります。)

image

作成されているコードは、以下の通りです。Application Entry Pointとして、Mainメソッドが作成されているのが確認できます。

/// <summary>
/// App
/// </summary>
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public partial class App : System.Windows.Application {
    
    /// <summary>
    /// InitializeComponent
    /// </summary>
    [System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public void InitializeComponent() {
        
        #line 4 "..\..\..\App.xaml"
        this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);
        
        #line default
        #line hidden
    }
    
    /// <summary>
    /// Application Entry Point.
    /// </summary>
    [System.STAThreadAttribute()]
    [System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public static void Main() {
        WpfApplication2.App app = new WpfApplication2.App();
        app.InitializeComponent();
        app.Run();
    }
}

広告

1件のコメント »

  1. […] アプリケーション定義 […]

    ピンバック by アプリケーション管理の概要 – アプリケーションの有効期間(前編) « 泥庭 — 2011年4月7日 @ 9:54 PM


RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。