Tengo una DLL existente que no es CLS-obediente a la que hago referencia desde mi propio proyecto. Cuando marque mi ensamblaje como CLS-obediente, recibo advertencias del compilador de que los nombres en el ensamblaje al que se hace referencia no son compatibles con CLS.¿Puede un ensamblaje que incluye una referencia que no cumple con CLS ser compatible con CLS?
¿Hay alguna manera de que pueda mantener mi ensamblador compatible con CLS y marcar el que se referencia como no?
¿Debo marcar también "Insertar tipos de interoperabilidad" como falso? (Es una biblioteca COM que no cumple con CLS debido a los nombres con caracteres de subrayado). – ide
No estoy seguro. Dado que los tipos de interoperabilidad que utilizaría son públicos, se incorporarán como públicos, lo que significa que se comprobará si cumplen con CLS. Pero cuando hice un experimento rápido, pareció ir bien, pero tal vez tuve suerte con mis tipos de COM. Tal vez intente crear un pequeño conjunto ficticio que importe los tipos COM problemáticos y pruébelo antes de embarcarse con su ensamblaje real. – itowlson
Acabo de probarlo con 'Microsoft.Office.Interop.Excel' y recibo advertencias si lo incluyo en una instrucción' using' en cualquier lugar. Parece que marcar mi ensamblaje como no conforme o no incrustar los tipos de interoperabilidad es el camino a seguir. O podría calificar completamente todos los nombres de clase ... nah. – ide