У меня нет среды, чтобы сделать это самостоятельно, так что это будет в лучшем случае частичным ответом, основанным на исследованиях в Интернете, а также собственным опытом, который может быть уместным.
Согласно this and other sources, VS2012 RC не может использоваться с текущим Windows Phone SDK, который по-прежнему требует VS2010. Исключением является (как вы упомянули) Portable Class Libraries, которые, похоже, могут создавать библиотеки, совместимые с Windows Phone 7+. Однако, чтобы использовать их в реальном приложении WP7, вам нужно будет ссылаться на них в соответствующем проекте WP в VS2010. Поэтому, если PCL недостаточно для ваших нужд, и вы хотите, чтобы реальные целевые проекты с общим кодом, VS2012 один не был бы вариантом.
Но есть еще несколько частей этой истории, которые могут представлять интерес, и которые могут вам помочь.
Первый добавочный номер VS2012: solution and project backward compatibility. VS-решения могут содержать проекты, даже если они не загружаются версией VS, которую вы используете, а это значит, что вы могли бы одновременно создать решение, которое будет содержать проект Metro VS2012 и проект VS2010 WP7. В любом случае проект не сможет загрузить (я предполагаю) в зависимости от того, какую версию используемых вами инструментов вы используете.
Причина, по которой это может быть ценным, заключается в том, что вы также можете создавать проекты, которые совместно используют код, так что одна и та же база кода скомпилирована в нормально несовместимые типы проектов, даже если они не являются переносимыми библиотеками классов.
Как это работает, вы создаете свои файлы кода независимо от любого проекта или используя какой-то определенный проект в качестве базовой линии, а затем связываете файлы кода с другими проектами и. В этом случае вам, вероятно, понадобится проект VS2010 WPF или Silverlight 5, так как обе версии могут открывать эти проекты. Затем создайте проекты Metro и WP7 вместе с этим (без кода сначала). Затем вы используете диалог «Добавить существующий элемент» в обозревателе решений, чтобы выбрать файлы из базового проекта (но еще не нажимайте «Добавить»). Нажмите стрелку вниз рядом с кнопкой «Добавить», и у вас будет опция «Добавить как ссылку», что вам нужно.
Повторение этого процесса в обоих проектах позволит любому коду или активам, которые вы разрабатываете в одной версии, перетекать в другую. Кроме того, если вам нужно изменить или отладить исходные файлы, вы можете сделать это в любой версии VS, потому что базовый проект работает одинаково в любом из них.
Последняя часть этой истории состоит в том, что вы можете использовать условные символы компиляции и директивы препроцессора #if для дальнейшей настройки любого общего кода, который просто должен расходиться в зависимости от цели. Однако это следует использовать экономно, для всеобщего здравомыслия.
Я фактически обменял код между WP7, Silverlight и другими проектами таким образом в VS2010, и он отлично работает там, где это необходимо.
Таким образом, вам все равно придется переключать IDE для компиляции и развертывания приложений Metro и WP-приложений, но, теоретически, я думаю, что есть сильная синергия, которую вы, по сути, вытесняете VS даже в ее нынешней форме ,
Новая информация сегодня
На телефон Summit Windows, в Сан-Франциско сегодня, Microsoft объявила о том, что Visual Studio 2012 будет иметь возможность писать приложения с таргетингом Windows 8, а также Windows Phone 7.5/8. Казалось бы, это изменит приведенную выше информацию и предоставит очевидное и простое решение. Так что у вас этого еще нет, но следите за ним в будущем.