Pregunta

Un usuario nos informó de que un comportamiento extraño en nuestra aplicación puede resolverse después de instalar .NET 4:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
  </startup>
</configuration>

Yo no era consciente de que si no se ha especificado un conjunto que podría ser cargado en una, pero la versión compatible más alto.

¿Es posible identificar el marco de un ejecutable está ejecutando con? ¿en tiempo de ejecución? oa través de algún proceso externo? Deseo confirmar que este es el caso, y la experiencia de los usuarios no ha ser el resultado de algún otro problema.


Process Explorer dice EVEMon se ejecuta en el 2.0, me inclino a sospechar que el problema es era medio ambiente:

Process Explorer

¿Fue útil?

Solución

Desde el interior de código que se ejecuta de su ensamblaje, puede utilizar la propiedad System.Environment.Version estática para determinar la versión de CLR en las que se está ejecutando.

Si no desea cambiar el código de montaje, se podría usar Proceso Explorador para ver los archivos DLL cargados en el proceso en tiempo de ejecución. La versión CLR puede ser identificado a partir de la versión de mscoree.dll.

Otros consejos

No tiene sentido, un programa que fue objeto de CLR versión 2.0.50727 no se ejecutará de forma automática con .NET 4.0. Se requiere una entrada del archivo .config explícita. Teniendo en cuenta la destreza de su cliente con los archivos .config, esto podría ser algo que de hecho lo hizo, a continuación, se enteró de que hubiera problemas.

Como se dijo Nicole Process Explorer es sin duda la forma más fácil. También puede obtener esta información de un volcado de memoria completa usando WindDBG.

Tenga en cuenta también que con 4,0 se obtiene al lado del otro CLR alojamiento . Antes de 4.0 si no es propietario del proceso que tenía hay manera de saber lo que CLR se cargó . Esto puede ser una razón por la que experimentamos el comportamiento que usted describe.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top