¿Por qué aparece un ícono de advertencia cuando agrego una referencia a un proyecto de complemento MEF?
Deseo probar la clase principal de un complemento haciendo referencia directamente al proyecto del complemento y creando una instancia de la clase del complemento. Cuando creo un proyecto de prueba de aplicación de consola y agrego una referencia de proyecto al proyecto de complemento, aparece un ícono de advertencia (triángulo amarillo con un signo de exclamación) al lado de la referencia en la lista de Referencias.
Cuando, en cambio, agrego una referencia al dll, el resultado de la compilación del ensamblado del complemento, no recibo tal advertencia. ¿Qué podría estar intentando decirme esta advertencia?
Como se menciona en los comentarios de la pregunta, las diferentes versiones de .NET Framework entre los proyectos pueden causar esto. Verifique las propiedades de su nuevo proyecto para asegurarse de que no se esté utilizando una versión predeterminada diferente.
Encontré el mismo problema con una aplicación web ASP.Net y dos proyectos de clase de biblioteca a los que era necesario hacer referencia dentro de la aplicación web. No recibí información sobre por qué falló la compilación y las referencias no eran válidas.
La solución fue garantizar que todos los proyectos tuvieran el mismo marco de destino:
En Visual Studio 2015: haga clic derecho en proyecto> Propiedades> Aplicación> Marco de destino
Guarde, limpie y reconstruya la solución. Las referencias del proyecto ya no deberían aparecer como advertencias amarillas y la solución se compilará.
Mi aplicación web tenía como objetivo .Net 4.5, mientras que los otros dos proyectos de clases de biblioteca dependientes tenían como objetivo .Net v4.5.2