Robert,
En la imparcialidad a la pregunta de Jim acerca de "qué tipo de diseño sería eso". Al responder, en lugar de simplemente decir "es lo que es", podría darnos una idea de las limitaciones en que deben caer nuestras sugerencias/soluciones.
Dicho de otra manera, sin saber por qué el código heredado le impide hacerlo de la "manera correcta", es difícil proporcionar soluciones ideales para su problema.
A menos que su arquitectura evite la idea de suma de comprobación MD5 sugerida por Vishalgiri, le sugiero que siga su consejo. Sin embargo, una vez más, sin saber qué aplicación (es) llama a estas DLL y por qué no se pueden firmar, es difícil saber si esto funcionará para usted.
Mi idea puede ser mucho más simple, pero ¿no puede ajustar su aplicación para precargar la DLL desde una ubicación predefinida? Por ejemplo, solo permita que se cargue desde la carpeta BIN de su aplicación principal, y en su defecto, ¿nunca más?
ver este enlace sobre cómo cargar desde un camino distinto: http://www.chilkatsoft.com/p/p_502.asp
esto puede ser más rápido que escribir todo el código MD5 checksum. Aunque me gusta esa idea también.
* Debido al diseño, los nombres/firmas fuertes no son una opción * - bueno, entonces su diseño hace que los ensamblajes sean vulnerables al secuestro de DLL. –
¿Qué tipo de diseño sería, sin permitir conjuntos con signo o con nombre fuerte? –
Jim es un mal diseño, razón de herencia, problemas de sistema de complementos, etc. Como un millón de otras aplicaciones del mundo real. –