WPFで独自のMainメソッドを作成する方法
App.xamlファイル
Mainメソッドの自動生成の仕組み
既定の設定ではApp.xamlファイルの定義を元にMainメソッドが自動で生成されます。 このためMainメソッドを手動で書き換えても次回ビルド時に再度自動生成され変更した内容が上書きされてしまいます。 生成されるファイルはApp.g.i.csという名前でそのファイルの中にMainメソッドが定義されています。 このファイルは既定では相対パスでいうとYourApplicationFolder\obj\Debugフォルダに生成されているはずです。
自動生成をしないように設定する
App.xamlファイルのビルドアクションがApplicationDefinitionになっていると上記のようにMainメソッドが自動作成されます。
ビルドアクションをPageに変更すると自動生成がされなくなり、自作のMainメソッドを作成して起動時に実行させることが可能になります。 設定を変更しApp.xaml.csファイルに自作のMainメソッドを定義します。
public partial class App : Application
{
    [System.STAThreadAttribute()]
    public static void Main() {
        MyProduct.App app = new MyProduct.App();
        app.InitializeComponent();
        app.Run();
    }
}
MainメソッドにはSystem.STAThreadAttribute属性をつける必要があります。 こうすることで2重起動の防止処理や、起動する前段階での準備処理、コマンドラインから処理を実行などの機能をアプリケーションに組み込むことができるようになります。
Create at 2013/09/04 LastUpdate 2013/09/05