Por qué la DLL nativa no se copia en el directorio de salida

Tengo un proyecto A de C # que utiliza una DLL de contenedor .net y una DLL nativa. Agrego la DLL de contenedor .net a la lista de referencia del proyecto A. Dado que la DLL de contenedor solo funciona con la DLL nativa cuando están en la misma carpeta, la DLL nativa debe copiarse en el directorio de salida del proyecto A. Lo logro agregando la DLL nativa como un archivo de contenido en el proyecto A y establezca su acción de copia para copiar si es más reciente. Esto esta bien

Si un proyecto B de C # tiene referencia directa al proyecto A, VS copiará todos los archivos dependientes utilizados por el proyecto A en el directorio de salida del proyecto B. Esto significa que la DLL de envoltura y la DLL nativa se copiarán también en el directorio de salida del proyecto B . Esto funciona bien también.

Entonces tengo otro proyecto C # C, que solo se refiere directamente al proyecto B, no al proyecto A. Es interesante ver que VS no copiará la DLL nativa en el directorio de salida del proyecto C, que es lo que pretendo hacer de lo contrario, cuando el proyecto C utiliza la funcionalidad del proyecto B y busca la DLL nativa para que funcione con la DLL del contenedor, no la encontrará.

¿Alguien puede explicar por qué VS no copia la DLL nativa en el directorio de salida del proyecto C? ¿Cuál es el mecanismo para copiar archivos dependientes de la cadena en VS? Muchas gracias

Respuestas a la pregunta(6)

Su respuesta a la pregunta