Насколько я знаю, единственная вещь, которая не поддерживает обратную совместимость, - это версия CLR, которая изменяется после .NET 4.0.
blockquote>Это не так. Вы можете сделать свое скомпилированное приложение .NET2 запущенным на платформе .NET4.
Вам просто нужно добавить следующее к вашему app.config:
<configuration> <startup> <supportedRuntime version="v2.0.50727"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration>
Примечание. Я согласен с @KingKronus, т. Е.
Why not just pick the lowest common denominator?
В вашем случае это был бы скомпилированный .NET2 и только один набор pdbs и один набор компиляции.
Да, вам нужно будет проверить ваш. NET2-скомпилированное приложение работает нормально в .net4, но вам нужно будет протестировать ваше приложение в каждой из фреймворков в вашем исходном решении.