как добавить .net 4.0 dll в проект, работающий на dotnet 3.5 - PullRequest
2 голосов
/ 07 октября 2011

У меня есть библиотека классов, встроенная в .net framework 4.0.я хочу добавить его в сборку старого проекта в .net Framework 3.5 .. есть ли способ сделать это, кроме обновления старого проекта?также было бы полезно, если бы вы могли сказать мне, как понизить мою DLL до 3,5

Ответы [ 2 ]

2 голосов
/ 07 октября 2011

Вы не сможете запустить .NET 4.0 DLL в процессе .NET 3.5.

Если у вас есть исходный код, вы можете преобразовать его в .NET 3.5, изменив целевой фреймворкпроекта (либо в Visual Studio, либо вручную).Если исходный код опирается на специфические функции .NET 4.0, вам придется изменить его для работы с .NET 3.5.Будет ли это осуществимо, зависит от того, насколько сильно код полагается на функции .NET 4.0, и можно ли достичь того же эффекта, используя только .NET 3.5.

1 голос
/ 07 октября 2011

Есть ли у вас источник как для DLL 4.0, так и для проекта 3.5?Если это так, вы можете:

  1. Портировать и перестраивать 4.0 DLL на 3.5
  2. Портировать и перестраивать свой 3.5 проект на .NET 4.0.
  3. Принудительно использовать ваш 3.5 проектдля запуска на 4.0 CLR путем изменения конфигурации вашего приложения:
<configuration>
  <startup >
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

Если вы выберете вариант 3, обязательно тщательно протестируйте свой код, поскольку ваш код может ссылаться на API, которыеизменили поведение и / или API и могут привести к поломке во время выполнения, которую трудно обнаружить и исправить.

Обязательно прочитайте документацию , охватывающую возможности .NETПриложения 4.0 для лучшей обработки компонентов, созданных для более ранних версий .NET.

Возможно, имеет смысл начать подготовку к будущему сейчас и пересмотреть свой код, чтобы перенести всю основную бизнес-логику в .NET PortableСборки , которые упростят повторное использование этого кода в рабочем столе Windows, приложениях в стиле Windows Metro, приложениях Windows Phone, приложениях Silverlight, приложениях XBox и т. Д.

HTH.

...