Мы написали небольшую библиотеку классов Windows, которая реализует методы расширения для некоторых стандартных типов (изначально строк). Я поместил это в библиотеку, чтобы любой из наших проектов мог использовать его, просто ссылаясь на него и добавляя с помощью XXX.Extensions.
Проблема возникла, когда мы захотели использовать некоторые из этих методов в Silverlight. Хотя весь код был совместим, на библиотеку Windows нельзя ссылаться в Silverlight, поэтому мы создали библиотеку Silverlight, в которой были ссылки на одни и те же файлы классов, и поместили директивы компилятора в классы, чтобы разрешить различные использования объявлений и пространств имен. Это работало нормально до сегодняшнего дня, когда я добавил новый класс в библиотеку расширений Windows и понял, что мне нужно помнить, чтобы связать этот класс и с библиотекой Silverlight.
Это не идеально, и я подумал, что у кого-нибудь могут быть идеи для лучшего способа обмена методами расширения и другим вспомогательным кодом между проектами Windows и Silverlight.