Strong name validation

La strong name validation es el mecanismo que tiene Windows para evitar los conflictos de los binarios. Cuando un assembly se registra en la GAC, asegura que es único en el sistema. Sin embargo, mientras se desarrollan aplicaciones es posible que no se puedan registrar los binarios (dlls por ejemplo) porque no se han firmado o por alguna otra razón. Si la aplicación espera encontrar los DLLs firmados, no los cargará si no lo están y nos encontramos con un  error “Strong name validation failed”.

Si buscas en Google (o en Live), verás que no eres el único. Una forma de hacer que los binarios se carguen en la máquina es utilizando sn.exe (Strong Validation tool) :

> sn.exe -Vr <binario a registrar>

Esto es un remedio temporal. Si uno va a publicar una aplicación, se tiene que encargar de firmar los binarios correctamente, y por eso es importante no encanpsular el error. Si es posible, se debe confirmar de donde esta cargando los dll la aplicacion. Para ello se puede mirar a los logs de Fusion.

sn.exe viene instalado con Visual Studio (abrir el command prompt de Visual Studio) o en el Microsoft SDK. Para sistemas de 64, se debe utilizar la version correcta.

Una explicación mejor dada de todo esto está en http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: