Я создаю библиотеку классов, и я развожу его в пакет NuGet, который позволяет мне выбирать различные сборки, которые будут добавлены в качестве ссылок на основе .NET-версии проекта, к которой он добавлен. Это очень приятная функция, но мне интересно, возможно ли иметь один проект библиотеки классов и создать ее против многословных версий .NET framework?
Я бы предпочел избежать:
MyLibrary40.dll
и MyLibrary45.dll
если возможно, потому что двум проектам придется делиться большим количеством кода. Версия 4.5 будет предлагать функции async
, которая является функцией 4.5.
Кто-нибудь знает, какой лучший подход для этого? Могу ли я использовать несколько конфигураций сборки? Или я должен идти по отдельному маршруту проекта?
Если бы я работал на С++, я бы, вероятно, использовал несколько конфигураций и #if
блоки вокруг функций, которые поддерживаются только в одной конфигурации, но я беспокоюсь, что это приведет к тому, что у меня будут две сборки с тем же именем, которые делают разные вещи.
Спасибо заранее!