tiempo referencia reciente que puede para más immutable este ensamblado ejecución creó con cargar archivo .net silverlight assemblies versioning version

.net - referencia - Obtener la versión de tiempo de ejecución de un ensamblado de Silverlight



system badimageformatexception no se puede cargar el archivo o ensamblado (3)

Puedes usar

Assembly.GetExecutingAssembly() .GetCustomAttributes(false).OfType<AssemblyVersionAttribute>() .Single().Version;

Quiero mostrar el número de mi versión de la aplicación Silverlight 3 en el cuadro Acerca de, pero cuando uso una llamada .Net tradicional como:

Assembly.GetExecutingAssembly().GetName().Version;

Obtengo una MethodAccessException en la llamada GetName (). ¿Cómo se supone que obtendré el número de versión de mi ensamblaje?


GetName está marcado como crítico de seguridad y, por lo tanto, obtienes una excepción cuando intentas llamarlo.

Tendrá que usar la propiedad FullName y analizar la Version=xxxx de la cadena.


private static Version ParseVersionNumber(Assembly assembly) { AssemblyName assemblyName = new AssemblyName(assembly.FullName); return assemblyName.Version; }

o esto:

Assembly assembly = Assembly.GetExecutingAssembly(); String version = assembly.FullName.Split('','')[1]; String fullversion = version.Split(''='')[1];

De: http://betaforums.silverlight.net/forums/p/128861/288595.aspx

una publicación al respecto:

http://forums.silverlight.net/forums/p/93400/214554.aspx

Puede ver el archivo js que publiqué aquí: Detectar la versión de Silverlight requerida por un ensamblaje

Su error es esperado. Dado que es crítico para la seguridad, lo anterior es una solución alternativa.