这里讲得很详细了:
Sharing Code between Windows Phone 8 and Windows 8 Applications
http://msdn.microsoft.com/en-us/magazine/dn201744.aspx
The Add Portable Class Library dialog in Visual Studio 2012 is where you can select the target frameworks the resulting assembly will support.
You might initially think you should check the box for Silverlight 5, but it isn’t necessary for sharing code between Windows Store and Windows Phone apps. In fact, selecting Silverlight 5 means your portable code won’t be able to take advantage of some very useful new types, such as the CallerMemberNameAttribute class introduced in the Microsoft .NET Framework 4.5.
If you’ve been developing for Windows Phone, you’re most likely familiar with the MessageBox class that enables messages to be presented to the user. Windows Store apps use the Windows Runtime MessageDialog class for this purpose. Let’s take a look at how to abstract this platform-specific functionality in a PCL.
还有下面的也不错:
Windows Stroe & Phone Dev top 10 differences:
TweetSearch - A Cross platform Metro UI WinRT and Silverlight Application