una - ¿Cómo firmar un archivo.NET Assembly DLL con un nombre fuerte?
no se puede cargar el archivo o ensamblado net standard (5)
Esta pregunta ya tiene una respuesta aquí:
Tengo un montaje que no tiene un nombre fuerte. No tengo un código fuente para eso.
Ahora necesito que se firme. ¿Hay alguna forma de hacer esto?
Eche un vistazo a mi StrongNameResigner . Puede firmar o renunciar a un ensamblaje y todos los ensamblajes que dependen de él, al tiempo que actualiza todas las referencias con un comando como el siguiente:
StrongNameResigner.exe -a "c:/temp" -k "key.snk" Foo.Bar
Si el ensamblaje original está marcado para la firma retrasada, puede usar la herramienta sn.exe.
Si el ensamblaje original no está marcado, entonces puede desmontarlo con ildasm.exe, luego volver a montarlo con ilasm.exe y especificar el argumento / key. Referencias: [1] [2] .
Ejemplo:
> ildasm /all /out=MYASSEMBLY.il MYASSEMBLY.dll
> ilasm /dll /key=key.snk MYASSEMBLY.il
Una forma fácil de firmar un ensamble de terceros es usar la versión de GUI
de Assembly Strong Name Signer
, disponible aquí: http://brutaldev.com/post/2013/10/18/NET-Assembly-Strong-Name-Signer .
Su código fuente está disponible en Github. Utiliza Mono.Cecil
para el trabajo sucio. Disponible también como herramienta de command line
comandos.
He encontrado que el ildasm
recomendado ildasm
-> ilasm
ida y vuelta sugerido en varios lugares es engorroso y mejor para evitar.
No sé cómo Assembly Strong Name Signer
maneja las dependencias de ensamblaje múltiple. En caso de que no lo haga, el problema y su solución se describen aquí (publicados en 2008): [1]
Use la herramienta Strong Name Tool ( sn.exe ).
You can sign the assembly with the help of VS command prompt.
Just type the path in VS cmd prompt where your project is physically present.
In VS cmd
<your project path>sn -k <name of your project>.snk
Then go to your project in Solution Explorer -> properties -> Signing -> check checkbox
-> Browse to the key which is created using VS cmd.