Я пишу библиотеку, и я хочу, чтобы класс реализовал и использовал IReadOnlyList<T>
, если это возможно. Однако этот интерфейс доступен только начиная с версии 4.5, и я не хочу привязываться к этой версии только из-за этого одного интерфейса.Внедрить интерфейс в зависимости от версии фрейма
Есть ли способ, которым я могу автоматически скомпилировать две версии библиотеки, одну для 4.5 (которая будет реализовывать интерфейс и, возможно, также иметь некоторые другие функции), а другая для 3.5?
В качестве примера я ищу что-то вроде конфигурации MSBuild, которая говорит: «Скомпилируйте эту библиотеку в двух [или более] версиях», а затем укажите разные параметры для каждого из них, например, определенные символы, рамки, ссылки и т. Д.
Если это возможно, это может фактически решить ряд других подобных проблем, которые у меня были.
Мне понравился вопрос лучше, когда он сказал 'и я был классом': D – Nolonar
Возможный дубликат [Условная компиляция в зависимости от версии фреймворка в C#] (http://stackoverflow.com/questions/408908/conditional -compilation-depends-on-the-framework-version-in-c-sharp) –
Простите, я не понял, что директива препроцессора будет работать для определений типов. Однако вопросы не совсем то же самое. Я специально прошу о возможности автоматической компиляции двух разных версий библиотеки. – GregRos