Как лучше поддерживать несколько версий .net в одной библиотеке

Я создаю библиотеку .net в Visual Studio 2015 со следующими целями:

  1. Поддержка .net 2, 3.5, 4 и 4.5+
  2. Поддержка PCL (.net 4.5+)
  3. Никаких дополнительных зависимостей, кроме Json.net

В идеале версия библиотеки .net 4.5+ должна использовать асинхронность и включать методы, которые возвращают Task и т. д.

Теперь кажется, что есть много разных способов поддержки того, что я хочу сделать, особенно с выпуском Visual Studio 2015/project.json, но какой хороший подход начать с нуля сегодня?

Моя библиотека относительно проста, поэтому, как бы я ни хотел повторно использовать код, я не хочу компрометировать версию .net 4.5.

Какой бы ни была разумная структура проекта, это означало бы, что я мог бы воспользоваться преимуществами последней версии .net framework, но при этом добавить поддержку старых фреймворков.


person Geoff Smith    schedule 30.07.2015    source источник


Ответы (1)


С Beta8 инструмента WebDev вы также можете ориентироваться на net2, net35, net40, net45, ...

Отличия ваших библиотек: вы можете использовать флаги #ifdef в своем коде, чтобы скрыть определенные методы в определенных сборках.

person Thomas    schedule 19.10.2015