Descompilar el ensamblaje VB.Net produce código con nombres de variables de miembro no válidos; nombres que comienzan con $ STATIC $

Estoy trabajando para un cliente que ha perdido el código fuente de una de sus aplicaciones VB.Net WinForms. La asamblea que tienen no está ofuscada en absoluto. Estoy tratando de recuperar la mayor cantidad de fuente posible como fuente de C # y he probado varias herramientas para descompilar ensamblados, incluidos Reflector, ILSpy y JustDecompile (todas las últimas versiones), pero todos producen código con una gran cantidad de errores en ellos. Debido a la gran cantidad de errores en el código generado, voy a preguntar acerca de los errores específicos (en diferentes preguntas), con la esperanza de obtener respuestas más directas y de esta manera intentar arrojar algo de luz sobre por qué todas las herramientas tienen dificultades para descompilar esta asamblea.

Esta pregunta se refiere al hecho de que el código generado por todas estas herramientas siempre tiene una gran cantidad de variables (campos) de miembros no válidos, como las siguientes:

private short $STATIC$Report_Print$20211C1280B1$nHeight;
private ArrayList $STATIC$Report_Print$20211C1280B1$oColumnLefts;
private StaticLocalInitFlag $STATIC$Report_Print$20211C1280B1$oColumnLefts$Init;

Alguien puede explicar por qué el código generado tiene estas variables miembro no válidas y cómo puedo resolverlas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta