2010-06-30 11 views
8

Ho creato una classe parziale per la mia classe generata automaticamente xsd. Il problema è nel debug di questa classe parziale. Il punto di interruzione non viene riconosciuto o il compilatore non si interrompe ai punti di interruzione impostati nella classe parziale.Debug di classe parziale

// Autogenerated class by xsd.exe 

public partial class Class1 
{ 
    private Class1Brand[] brandField; 

    private string Class1guidField; 

    ..... 
} 

// Debug Part - probably in a different file 
public partial class Class1 
{ 
    public static Validity setValidity(Validity validity) 
    { 
    // ********* BREAKPOINT IS SET ON THE NEXT LINE *********** 
     validity.LastVerified = DateTime.Now; 

     //certificates are only updated within 14 days before expiry date 
     TimeSpan tsCheck = validity.NotAfter - validity.LastVerified; 
     if (tsCheck.Days <= 14) 
     { 
      DateTime dtNotBefore = validity.NotAfter.AddDays(conf.validityPeriod()); 
      if (validity.NotAfter > DateTime.Now) 
      { 
       dtNotBefore = validity.NotAfter; 
      } 
      else 
      { 
       dtNotBefore = DateTime.Now; 
      } 
      validity.NotBefore = dtNotBefore; 
      validity.NotAfter = dtNotBefore.AddDays(conf.validityPeriod()); 
     } 
     return validity; 
    } 

}

risposta

22

XSD decora tutte le classi generate con DebuggerStepThroughAttribute, che impedisce il debugger di fermarsi in un metodo/classe contrassegnato con questo attributo.

per risolvere questo:

  • O cercare e sostituire tutte le occorrenze di DebuggerStepThrough attributo
  • o, in Visual Studio, vai a Strumenti - Opzioni ..., scorrere fino a Debug/Generale e deselezionare la casella accanto a Attiva Just My Code
+0

+1 I Stavo per rispondere ma non riuscivo a ricordare il nome dell'attributo lol –

+1

Nota che se apporti delle modifiche ai file codificati, questi andranno persi se il file viene mai rigenerato. –

+0

Anton, hai reso la mia giornata molte grazie – Bart

Problemi correlati