Я голосую за ответ Эрика ван Бракеля.
Также я хотел бы предложить, чтобы, если вы хотите поддерживать 3.5 функции, такие как LINQ и Extension, вы можете создать дополнительную библиотеку, скажем,
MyLibrary.DLL
MyLibrary.LINQ.dll
, таким образом, используя тот же подход, что и MS (когда они оставили версию System.dll 2.0, но добавили все новые функции в System.Core.dll)