Может ли exe, созданный на .net 2.0, ссылаться на dll, созданную на .Net 4.0 - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть exe, который должен быть встроен в .Net 2.0

Может ли этот exe ссылаться на dll, построенную на .Net 4.0?

Когда я пытаюсь это сделать, я получаю сообщение об ошибке компиляции, в котором говорится "ссылающаяся dll не найдена"

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Нет. Вы можете ссылаться на сборки, созданные с более ранними версиями, но не наоборот.

3 голосов
/ 17 ноября 2011

Может ли это exe ссылаться на dll, построенную на .Net 4.0?

Нет. .NET Framework является обратно совместимым, а не совместимым вверх, что кажется нормальным. Чтобы использовать сборку, скомпилированную для .NET 4.0, вам нужно запустить приложение под CLR 4.0.

Итак, резюмируем:

  • вы можете смешивать сборки .NET 2.0 до .NET 4.0, когда приложение запускается в CLR 4.0
  • вы можете смешивать сборки .NET 2.0 до .NET 3.5, когда приложение запускается в CLR 2.0 (это ваш случай, так как исполняемый файл скомпилирован с .NET 2.0)
...