I was watching a great presentation that Ward Bell put together recapping PDC ’09 and stumbled on one of his last slides which purports; “.NET 4<br/> Same CLR in Silverlight & .NET” and was a bit perplexed, so I dug into the concepts behind that title a bit. It turns out that Ward was referring to a new feature in .NET 4 called “assembly portability”. Richard Lander does a great job explaning this on the CLR Team Blog.
In summary; you can compile Silverlight 4 Class Library projects and reference them in both SL4 and .NET 4 (WPF,WinForms, etc…) provided the SL Class Library does not reference anything outside of these specific assemblies:
The net benefit of this is that you can write your reusable logic and compile it to SL4 Class Libraries and your assembly will be usable by both .NET 4 and Silverlight 4 without recompilation. Pretty cool!