¿Por qué son opcionales los nombres fuertes?

7

¿Por qué el c # permite que el proyecto no se firme con firmeza cuando se construyen? Pueden estar firmados por algún archivo de nombre automático si el programador no elige su propio archivo de señal. ¿Dónde está la ventaja de un archivo .dll no firmado?

¿Qué son los nombres fuertes?

Estoy trabajando en un proyecto que usa archivos .dll de C # en Microsoft Dynamics AX. Si el archivo .dll tiene el nombre seguro, es fácil de usar. Si no comienza la diversión.

Si el .dll no tiene un nombre seguro

  1. No puedes instalarlo fácilmente en gacutil

  2. No puedes usarlo como referencia cuando creas un proyecto con un nombre seguro.

  3. Puede llevar a DLL Hell

Solo veo desventajas del proyecto sin nombres fuertes, así que quiero saber si no veo algo o si hay algunas consecuencias históricas difíciles por las que todavía están permitidas. Quiero saber si hay alguna ventaja de usarlos.

Debería ser posible agregar nombre seguro en el archivo .dll sin compilar pero no pude usar esto porque finalizo después de que intento usar ILASM.exe con" El programa puede " t iniciar porque falta fusion.dll en su computadora, intente reinstalar el programa para solucionar este problema ". incluso si el archivo fusion.dll está en el sistema (decidimos utilizar un enfoque diferente, así que no tengo tiempo para más intentos con esta solución).

    
pregunta boucekv 23.05.2014 - 08:03

1 respuesta

7

Algunas razones para NO firmar un montaje:

  1. Porque el ensamblado firmado solo puede cargar otros ensamblados firmados. - un problema real si confía en las librerías de terceros.
  2. Cuando se firma el proyecto, es necesario tener las versiones, por lo que no puede usar enlaces directos entre sus proyectos en la misma solución o tendrá que volver a compilar la aplicación para poder usar una versión diferente.
  3. Además de los inconvenientes obvios, también hay algunos problemas de rendimiento (aunque no significativos) debido a la verificación de la firma. (Si está interesado en conocer en profundidad el problema de rendimiento, lea aquí nombre seguro de Richard Grimes

P.S. C #: ¿por qué firmar un ensamblaje?

    
respondido por el tatigo 23.05.2014 - 15:48

Lea otras preguntas en las etiquetas