Tengo un proyecto de C++, configurado en /clr
, al que hacen referencia los proyectos de C# en la misma solución. Desafortunadamente, parece que el C++ no se firma correctamente, lo que lleva al mensaje de error "el ensamblado no tiene un nombre fuerte". (sn.exe
está de acuerdo con ese error.)
Sin embargo, no es un archivo de SNK en la configuración del proyecto (Linker/Avanzado), por lo que debe ser firmado. Además, todas las configuraciones del proyecto parecen ser las mismas que en otro proyecto de C++ en la misma solución, donde todo funciona.¿Por qué no está firmado mi ensamblaje en C++?
La única cosa que he encontrado después de desgarrarse mi pelo sobre esto durante horas:
Al eliminar el interruptor /NOLOGO
para el enlazador, se hace evidente que el enlazador se llama dos veces . No tengo la menor idea de por qué podría ser eso.
Ahora, en el proyecto que trabaja el enlazador se pasa el archivo de SNK en la línea de comandos (/KEYFILE:
) para ambos invocaciones, en el que hace no trabajo, la segunda invocación hace no obtener el archivo SNK pasado.
¿Por qué el enlazador se invocará dos veces? ¿Qué determina que no se pase el archivo snk en la segunda invocación?
Gracias por publicar esto. Me salvaste de horas de tirar del pelo. – dss539
@ dss539: ¡Gracias por decirme! – sbi