It is best to do this so that you upgrade all projects to VS2012 in order to be able to support both versions of WP (you can still open a WP7 project in VS2010, despite the fact that it is a VS2012 solution, they cause backward compatibility).
As for the best way to organize the code base, in my opinion, you should create a portable library that supports both WP7 and WP8, and get the whole common code base (probably mostly business logic, especially good if you use such a template like MVVM). Not forgetting the problem with the controls, you should have several different controls for WP8, because the screen sizes do not match, and you can get more information and use different controls. If you still want to use the same XAML code, use only one file in one of the projects and add the same โAs a Linkโ file to the other project that you want to reuse.
Finally, you can, and probably also use some compilation of conditional code using the #if directive.
Hope this information helps, and if any sample code is needed, just say it and I will try to collect something.
source share