Cómo usar diferentes archivos en un proyecto para diferentes configuraciones de compilación - Visual Studio C # .net

Tengo una solución de c # .net winforms y quiero crear dos compilaciones diferentes: una que admita IE6 y otra que admita IE7. Algunos de los archivos en uno de mis proyectos son diferentes para la compilación IE6 en comparación con la compilación IE7, por lo que quiero incluir los archivos IE6 cuando construyo para IE6 y los archivos IE7 cuando construyo para IE7. ¿Cuál es la mejor manera de estructurar mi solución para esta situación?

Debido a otras restricciones, no quiero crear un ensamblaje separado que contenga los elementos compartidos; Quiero que el proyecto se compile en un solo ensamblado 'foo.dll' independientemente de la compilación que esté haciendo.

Pensé que podía crear dos proyectos separados que se compilaran a 'foo.dll', luego crear dos Configuraciones de lanzamiento y solo incluir el proyecto relevante en la configuración relevante. Sin embargo, necesitaría incluir los archivos que son iguales para IE6 e IE7 en ambos proyectos, y no puedo ver cómo usar una sola copia de un archivo en dos proyectos (cuando agrego un elemento existente crea una copia en el directorio del proyecto). Estoy usando SVN para el control de fuente, por lo que tal vez podría usar eso para hacer el 'intercambio' entre carpetas, pero dudo que sea la mejor manera ...

NB: se necesitan diferentes compilaciones debido a las diferencias de API en IE, cuyos detalles no son relevantes para la pregunta, solo créanme que se requieren dos compilaciones.

Respuestas a la pregunta(4)

Su respuesta a la pregunta