Visual Studio 2010: справочные сборки, ориентированные на более высокую версию платформы

Visual Studio 2008 позволяет ссылаться на сборкуA из АссамблеиB когда A предназначался для .NET 3.5, а B предназначался для .NET 2.0.

Visual Studio 2010 больше не допускает этого. Полная проблема описана наMSDN:

Вы можете создавать приложения, которые ссылаются на проекты или сборки, предназначенные для разных версий .NET Framework. Например, если вы создаете приложение, предназначенное для клиентского профиля .NET Framework 4, этот проект может ссылаться на сборку, предназначенную для .NET Framework версии 2.0. Однако, если вы создаете проект, нацеленный на более раннюю версию .NET Framework,Вы не можете установить в этом проекте ссылку на проект или сборку, предназначенную для клиентского профиля .NET Framework 4 или .NET Framework 4, Чтобы устранить ошибку, убедитесь, что целевой профиль вашего приложения совместим с целевым профилем, указанным в проектах или сборках, на которые ссылается ваше приложение.

Можно ли как-то заставить VS2010 вести себя как VS2008 в этом отношении (т.е. разрешать ссылки на сборки, предназначенные для более высоких версий фреймворка)?

Я знаю причину поведения VS 2010 и соображения развертывания, о которых мне нужно знать, повторять это не нужно.

Точная ошибка:

предупреждение MSB3268: первичная ссылка «xxx.dll» не может быть разрешена, поскольку она имеет косвенную зависимость от сборки каркаса «System.Core, версия = 3.5.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089», которая не может быть разрешена в в настоящее время целевые рамки. ».NETFramework, Version = v2.0" . Чтобы решить эту проблему, удалите ссылку «xxx.dll» или перенаправьте приложение на версию платформы, которая содержит «System.Core, Version = 3.5.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089».

Ответы на вопрос(4)

Ваш ответ на вопрос