Libraries must be self-contained in 1 assembly for ease of use.

There is a .NET library for .NET 3.5: Srk.BetaSeriesApi.Common. Then I created a library for Silverlight 3 (and Windpws Phone 7): SrkSL.BetaSeriesApi.Common.

You have to know that many files are linked from the .net library to the SL library. This means the code is shared between both assemblies. Editing this kind of file will edit it for both assemblies. Some big classes like BetaseriesBaseHttpClient are separated in multiple files: common files are linked and other are different.

The following picture illustrate linked files.

WP7 application


WPF test application