¿Puede mi aplicación .Net hacer referencia a dos versiones diferentes de una biblioteca de marco .net?

Digo que tengo dos proyectos, P4 y P3, dirigidos a .net 4.0 y 3.5 respectivamente.

Cada proyecto también tiene una referencia a System.Data. En el caso de P4, será para System.Data v4.0.0.0 En el caso de P3, será para System.Data v2.0.0.0

Project P4 también hace referencia a P3.

Si P4 se carga y ejecuta, utiliza .net 4.0 CLR. En tiempo de ejecución, las referencias a System.Data parecen resolverse en v4.0 dentro de P4 y P3. Puedo anular esto mediante el uso de redireccionamientos de ensamblaje, pero luego tanto P4 como P3 se resuelven en v2.0.

¿Hay alguna forma de configurar mi aplicación para que P4 use v4.0 y P3 use v2.0?

Respuestas a la pregunta(4)

Su respuesta a la pregunta