2010-11-22 49 views
10

Entiendo la idea básica detrás de la firma de ensamblajes pero tengo un problema cuando uso Telerik o DLLs de 2 ª parte. Tengo un .exe que usa 2 de mis propios .DLL, los DLL a su vez hacen uso de las DLL de la biblioteca Enterprise y las DLL de Telerik.firma de ensamblados con un nombre seguro, vale, pero ¿y si alguna DLL de terceros no está firmada?

Di todos los proyectos con un nombre seguro .snk, pero al compilar, el compilador explica que las DLL de la biblioteca empresarial, por ejemplo, no están firmadas, lo que tiene sentido.

No quiero desactivar la verificación con el comando te sn.exe -Vr o incluso demorar la firma de mis proyectos. Pero entonces, ¿cómo va a funcionar esto? Estoy agradecido por cualquier idea.

Respuesta

4

Es un inconveniente, pero no un genio para firmar/renunciar asambleas de terceros. Suponiendo que desea firmar una DLL sin firmar como System.ComponentModel.Composition.dll con la tecla default.snk:

abrir el símbolo del sistema VS y cd a la carpeta con el archivo DLL sin signo (s)

 
ildasm /all /out=System.ComponentModel.Composition.il System.ComponentModel.Composition.dll 
ilasm /dll /key=default.snk System.ComponentModel.Composition.il 
del System.ComponentModel.Composition.il 

En cada proyecto VS aplicable, elimine y vuelva a agregar la referencia a su ensamblado firmado System.ComponentModel.Composition.dll

+0

¿Se recomienda el ensamblaje de firma que se instala a través del paquete nuget? – Vivekh

+0

No te olvides '/ resource = somename.res' si el archivo' .res' fue creado por 'ildasm' – n0rd

Cuestiones relacionadas