2009-06-28 15 views
10

En toda mi búsqueda, solo he podido encontrar this one link que sugiere que el viejo CLR Profiler para .NET 2.0 debería funcionar con aplicaciones .NET 3.0 o 3.5.¿Hay un perfilador de CLR que funcione con .NET 3.5 SP1 y WPF?

Cuando intento y perfil mi aplicación .NET 3.5 SP1 WPF con el CLR Profiler para .NET 2.0, se inicia muy bien mi aplicación, pero se abre un cuadro de diálogo que dice "Esperando a que la aplicación inicie el tiempo de ejecución del lenguaje común ".

Dado que mi aplicación utiliza claramente el CLR, solo puedo concluir que el CLR Profiler para .NET 2.0 no funciona con las versiones más recientes del marco (quizás sea solo un problema con las aplicaciones 3.5 SP1).

Entonces, ¿alguien sabe si hay una versión del perfilador CLR que funciona con 3.5 SP1? Si no hay una versión del generador de perfiles de Microsoft, ¿hay otro generador de perfiles gratuito que pueda usar que tenga una funcionalidad similar?

+2

Creo que estás equivocado concluyendo, entre otras cosas porque el CLR es sin cambios entre 2.0 y 3.5. :) – jalf

+0

@jaif - ¿Qué hay entre 3.5 y 3.5 SP1? Puedo reproducir esto sin falta. –

Respuesta

15

Acabo de intentar ejecutar CLR Profiler con una aplicación WPF, y funciona bien. La aplicación tarda un tiempo en comenzar (más tiempo que con aplicaciones que no son WPF, parece), pero funciona.

Actualización: solo para mantener la respuesta actualizada; de acuerdo con los comentarios a continuación, la solución fue ejecutar CLR Profiler con derechos administrativos.

+0

Dejé mi aplicación en ejecución durante casi 20 minutos, esperando que desapareciera el mensaje "Esperando a que la aplicación inicie el tiempo de ejecución del lenguaje común". Mi aplicación estaba en funcionamiento, estaba interactuando bien, mi aplicación claramente había iniciado el CLR. ¿Qué versión de marco era su aplicación WPF dirigida? –

+3

Tiene como objetivo .NET Framework 3.5. Vi un lugar que no necesita ejecutar con derechos administrativos (no sé si fue específicamente para aplicaciones WPF). ¿Lo intentaste? –

+1

Buena llamada para ejecutarlo con derechos administrativos: ¡eso era todo lo que necesitaba! ¡Gracias! –

2

El CLR utilizado en el marco 2.0 y el marco 3.5 difiere solo en un service pack. El CLR tiene la versión 2.0 y 2.0SP1 para las respectivas versiones. El perfilador CLR funcionará en contra de la versión 2.0SP1 del CLR.

Corrección pequeña: no hay versión 3.5 del CLR. Las versiones más recientes son 2.0, 2.0SP1 y 2.0SP2 (asociadas con .Net Framework SP1).

+0

Por lo tanto, el CLR Profiler funciona en contra de la versión 2.0SP1 del CLR. ¿Qué tal si se compara con 2.0SP2? Supongo que eso es lo que viene con 3.5SP1, al menos eso es lo que estoy recopilando de tu respuesta ... ¿estoy equivocado? –

0

No cometa el error estúpido que hice e intente utilizar CLR profiler v1.1 - el correcto es CLR Profiler para .NET Framework 2.0 (incluso si usa .NET 3.5).

1

Acabo de utilizar el CLR Profiler 2 con mi aplicación .NET 4.0 WPF. Podría lanzar la aplicación, pero al hacer clic en "Mostrar montón ahora" o en cualquier elemento del menú "Ver", se mostraban ventanas de informe con cifras vacías. Entonces, me pregunto si alguien ya lo intentó con éxito. O simplemente no es compatible con las aplicaciones .NET WPF.

+0

No es que no sea compatible con WPF, es que no funcionará para .NET 4.0. .NET 3.5 era un conjunto de bibliotecas adicionales además del .NET 2.0 runtime, es decir, el tiempo de ejecución del núcleo no cambiaba, por eso el V2 del generador de perfiles aún funcionaba. Con .NET 4.0 tenemos un nuevo tiempo de ejecución. – donovan

1

Cometí el error de ejecutar la versión x86 de CLR Profiler para .NET Framework 2 en mi máquina de 64 bits, que solo mostraba el mensaje "Esperando a que la aplicación inicie el Common Language Runtime" permanentemente. Si tiene una máquina de 64 bits, probablemente tenga que ejecutar la versión de CLR Profiler que coincida con el proceso que desea crear (normalmente la que está en la carpeta "x64")

Por alguna razón, WPF es extremadamente lento debajo del perfilador

+0

Tiene que coincidir con la aplicación perfilada. Estoy usando la máquina x64. La aplicación es de 32 bits. Por lo tanto, necesito ejecutar el generador de perfiles de 32 bits utilizando derechos administrativos. –

Cuestiones relacionadas