Qual é a melhor prática para compilar o Silverlight e o WPF em um projeto?

Acabei de concluir um projeto do Silverlight e é hora de limpar um pouco. Gostaria de pegar meus arquivos principais e colocá-los em um projeto separado, que referenciarei no meu aplicativo principal do Silverlight. Algumas dessas classes são compatíveis com o WPF e eu gostaria de poder ter o código Silverlight / WPF em um único projeto. Minha solução ideal seria um projeto único que permita várias configurações. Assim,

Configuração: o Silverlight geraria: Company.Controls.Silverlight.dll

Configuração: O WPF geraria: Company.Controls.Wpf.dll

É possível ter a mesma fonte no mesmo arquivo apenas separada por define?

Alguém já fez isso antes?

Editar: Criei uma solução por projeto, como MyCompany.Windows.Controls, que contém 2 projetos, MyCompany.Windows.Controls & MyCompany.Windows.Controls.Silverlight. Junto com essas duas pastas, tenho uma pasta "Compartilhada", que contém arquivos usados pelos dois projetos. Até agora funciona bem :)

questionAnswers(3)

yourAnswerToTheQuestion