2010-11-02 14 views
7

En los últimos años, he estado usando WPF en una aplicación de modo mixto para mostrar varios bits & pedazos de UI. WPF es utilizado por un ensamblado C# para generar la interfaz de usuario: hace referencia a un ensamblado C++/CLI que contiene algún código nativo. El código nativo no hace llamadas al sistema operativo más allá de unas pocas impresoras; es puramente computacional.RaceOnRCWCleanup al cerrar aplicaciones WPF

Cuando se ejecuta con un depurador conectado, veo el fuego administrado de depuración "RaceOnRCWCleanup" después de cerrar la aplicación, lo que sugiere que hay algún componente COM con problemas de limpieza de subprocesos múltiples.

No estoy usando COM de ninguna manera directamente, pero quizás C++/CLI o WPF sí lo esté. Las advertencias sobre el cierre de la aplicación no son particularmente aterradoras, después de todo, la aplicación se está saliendo de todos modos, pero me encantaría saber qué está sucediendo. ¿Puedo hacer algo para evitar esta advertencia? ¿Hay algún error oculto en alguna parte que esté esperando morderme o es una advertencia falsa?

Este es un ejemplo StackTrace:

mscorlib.dll!System.Runtime.InteropServices.Marshal.ReleaseComObject(object o) Line 1826 + 0xc bytes C# 
PresentationFramework.dll!System.Windows.Documents.TextServicesHost.DeactivateThreadManager() Line 465 + 0xd bytes C# 
PresentationFramework.dll!System.Windows.Documents.TextServicesHost.OnUnregisterTextStore(object arg) Line 331 C# 
PresentationFramework.dll!System.Windows.Documents.TextEditor.DetachTextStore(bool finalizer) Line 249 + 0x6b bytes C# 
WindowsBase.dll!System.Windows.Threading.Dispatcher.ShutdownImplInSecurityContext(object state) Line 1363 + 0xfffffffc bytes C# 
mscorlib.dll!System.Threading.ExecutionContext.runTryCode(object userData) Line 484 + 0xce bytes C# 

Alguien ha experimentado el mismo problema? ¿Alguien sabe lo que está pasando?

+0

Acabamos de experimentar este problema después de actualizar nuestros proyectos de .Net 3.5 a 4.0. –

Respuesta

1

¿Desde cuándo obtiene esta excepción? También lo recibí hoy por primera vez en nuestra aplicación comercial wpf. Ocurre continuamente cada vez que cierro la aplicación, sin haber realizado cambios importantes. ¿Tal vez alguna actualización de Windows es la fuente del mal? Tampoco descubrimos de dónde viene, ni cómo prevenirlo, todavía. Publicaré una solución tan pronto como logramos resolver la excepción. No creo que tenga algo que ver con su conjunto C++/CLI. No usamos ensamblajes C++/CLI.

Enero

+1

Estoy bastante seguro de que he estado recibiendo este error desde hace mucho tiempo. Normalmente lo ignoro (tengo desactivada la MDA en VS), así que tal vez funcionó por un tiempo; pero ciertamente lo he visto hace al menos un año, tal vez más. –

+1

Hmmm. Está bien, entonces mi teoría de la actualización de Windows puede ser enterrada. Lo más loco es que ayer parecía reproducirse en casi todas las aplicaciones cercanas. Hoy no apareció en absoluto ... Así que la próxima vez que lo obtenga, intentaré encontrar una fuente más específica con .Net reflector pro. Gracias por su respuesta. – JanW

+0

Es posible que veamos cosas completamente diferentes, pero si alguna vez averigua de qué se trataba, ¡por favor, publíquelo! –

Cuestiones relacionadas