2011-08-02 10 views
12

Tengo una solución vs2010 C# que funcionaba bien ayer.SEHException no fue administrada

Cuando trato de ejecutar una instancia de depuración hoy sigo recibiendo un SEHException no fue manejado.

Este error se está produciendo en el método InitializeComponent del formulario de inicio.

¿Alguna idea?

Aquí está la StackTrace:

System.Runtime.InteropServices.SEHException was unhandled 
    Message=External component has thrown an exception. 
    Source=System.Drawing 
    ErrorCode=-2147467259 
    StackTrace: 
     at System.Drawing.SafeNativeMethods.Gdip.GdipCreateFontFromLogfontW(HandleRef hdc, Object lf, IntPtr& font) 
     at System.Drawing.Font.FromLogFont(Object lf, IntPtr hdc) 
     at System.Drawing.Font.FromHfont(IntPtr hfont) 
     at System.Drawing.SystemFonts.get_DefaultFont() 
     at System.Windows.Forms.Control.get_DefaultFont() 
     at System.Windows.Forms.Control.GetDefaultFontHandleWrapper() 
     at System.Windows.Forms.Control.get_FontHandle() 
     at System.Windows.Forms.ContainerControl.GetFontAutoScaleDimensions() 
     at System.Windows.Forms.ContainerControl.get_CurrentAutoScaleDimensions() 
     at System.Windows.Forms.ContainerControl.get_AutoScaleFactor() 
     at System.Windows.Forms.ContainerControl.PerformAutoScale(Boolean includedBounds, Boolean excludedBounds) 
     at System.Windows.Forms.ContainerControl.PerformNeededAutoScaleOnLayout() 
     at System.Windows.Forms.Form.OnLayout(LayoutEventArgs levent) 
     at System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args) 
     at System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.PerformLayout(IArrangedElement affectedElement, String affectedProperty) 
     at System.Windows.Forms.ContainerControl.LayoutScalingNeeded() 
     at System.Windows.Forms.ContainerControl.set_AutoScaleMode(AutoScaleMode value) 
     at FirstWindow.Form1.InitializeComponent() in C:\Users\Ash\Documents\Visual Studio 2010\Projects\FrameworkClientV2 - No Security\FirstWindow\Form1.designer.cs:line 32 
     at FirstWindow.Form1..ctor() in C:\Users\Ash\Documents\Visual Studio 2010\Projects\FrameworkClientV2 - No Security\FirstWindow\Form1.cs:line 27 
     at FirstWindow.Program.Main() in C:\Users\Ash\Documents\Visual Studio 2010\Projects\FrameworkClientV2 - No Security\FirstWindow\Program.cs:line 18 
     at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
     at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: 

En una nota al azar mi novia rompió la pantalla de mi ordenador portátil ayer por la noche por lo que Im que funciona en un monitor externo ... ¿podría tener algo que ver con ella?

Aquí está el código y la línea errónea ..

private void InitializeComponent() 
{ 
    this.components = new System.ComponentModel.Container(); 
    ///////////////////The line below throws the exception 
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 
    /////////////////////////////// 
    this.Text = "Form1"; 
} 
+0

posible duplicado de [¿Cómo se debe diagnosticar el error SEHException? El componente externo ha lanzado una excepción] (http://stackoverflow.com/questions/1313853/how-should-you-diagnose-the-error-sehexception-external -component-has-thrown-an) –

+5

Dudo mucho que los chanchullos de tu media naranja tengan algo que ver con esta excepción :) –

+0

Merece la pena intentarlo moo :) Ya que parece que la excepción tiene algo que ver con el ajuste de escala automático Me pregunté si las diferentes resoluciones de los monitores podrían tener algo que ver con eso. – user589195

Respuesta

11

Este podría ser el mismo que el tema ampliamente informado de que comenzó a ocurrir ayer. Ver

http://forums.asp.net/t/1704958.aspx/9/10?Re+SEHException+thrown+when+I+run+the+application

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/0f78401b-77b2-4052-a26a-e98d2ec0afa9

Prueba a desinstalar "Trusteer Rapport" si lo tiene en su máquina

+0

Usted, señor, es una leyenda :) – user589195

+3

Gran diagnóstico.Creo que las preguntas con respuestas como esta son las verdaderas gemas de SO :) – porges

+5

Realmente no puedo reclamar ningún crédito, solo estaba siguiendo los otros hilos sobre este tema ya que un colega mío estaba sufriendo este problema. Simplemente muestra cuán sensible es el entorno de Windows cuando el software no relacionado puede afectarse entre sí de formas inesperadas como esta. – zeroid

0

Este problema se produce cuando se carga funciones no administradas (de DLL) en el hilo principal. He resuelto este problema cargando estas funciones no administradas en un hilo diferente al hilo principal, puede por ejemplo usar un BackgroundWorker.

0

Me tropecé con esto porque de repente experimenté el mismo problema. Son años después del OP y estoy usando VS2015. Mi solución funcionó bien en el trabajo ayer, con mi computadora portátil conectada a un monitor externo. Hoy estoy trabajando desde casa, y no hay un monitor adicional. No hubiera pensado que fuera relevante excepto por el comentario de OP sobre cambiar la configuración de la pantalla.

Cuestiones relacionadas