2011-05-05 13 views
11

Tengo una aplicación WPF .NET 4 donde anulo el método OnStartup para procesar el archivo pasado a mi aplicación. Sin embargo, parece que este método no se llama cuando se ejecuta la aplicación. Puse una excepción allí e incluso un punto de interrupción y se inicia e ignora por completo esto.¿Por qué no se llama a Application.OnStartup?

¿Echo de menos algo?

Código de App.xml.cs:

/// <summary> 
/// Interaction logic for App.xaml 
/// </summary> 
public partial class App : Application 
{ 
    protected override void OnStartup(StartupEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 
} 

Contenido de App.xaml:

<Application x:Class="XGN_Image_Downloader.App" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     StartupUri="MainWindow.xaml"> 
<Application.Resources> 

</Application.Resources> 
</Application> 

EDIT: encontré! El atributo x: Class en App.xaml no coincidía con la clase App.xaml.cs :) Eso es lo que obtienes para codificar mientras bebes vino. (Gracias a este hilo: WPF app startup problems)

+0

No se pudo reproducir con solo esta información. Creé una aplicación WPF, pegué su código sobre el código subyacente de la aplicación existente, puse un corte de depuración en la línea de lanzamiento, lo ejecuté y el depurador rompió esa afirmación. ¿Puedes publicar tu otro código relacionado con la aplicación? Posiblemente app.xaml? –

+0

¿Tiene varios proyectos en su solución? Si este proyecto se establece como un proyecto de inicio? –

+0

El otro proyecto es una biblioteca de clases. Solo hay 2 proyectos en la solución. Este proyecto se establece como el proyecto de inicio. Además de mi app.xaml, solo tengo una sola ventana principal sin nada de lujoso. –

Respuesta

17

Lo encontré, tuve que establecer el atributo x:Class en App.xaml a la misma clase que la clase App.xaml.cs. Esto fue un error causado por mala refactorización de mi lado.

+1

Llegué tarde pero tenía el mismo problema aunque mi atributo x: Class estaba bien. Parece que OnStartup tampoco se activa si su proyecto no tiene un "elemento de inicio" especificado en las propiedades. La aplicación aún se inicia, simplemente no se dispara al inicio. – BenCr

Cuestiones relacionadas