Почему версия System.dll 2.x в моем проекте .net, нацеленном на .net framework 3.5? - PullRequest
6 голосов
/ 13 декабря 2011

У меня есть решение для .net Framework 3.5. Все ссылки на базовые dll имеют версию 2.x времени исполнения с момента их компиляции. Почему это так? Означает ли это, что я не использую последние версии этих библиотек DLL с исправлениями ошибок?

Ответы [ 2 ]

6 голосов
/ 13 декабря 2011

Framework 3.5 все еще работает над CLR 2.0. V3 и V3.5 только добавили некоторые (на самом деле много) новые классы, но не изменили существующие сборки. Компилятор также изменился, но на самом деле не время выполнения.

Именно поэтому в %windir%\Microsoft.NET\Framework\v3.5 (или Framwork64) вы не найдете сборок, уже доступных в V2.

Framework V4 представила новую версию CLR. Соответственно, вы найдете в %windir%\Microsoft.NET\Framework\v4.0.30319 все сборки.

На странице Версии и зависимости перечислены все версии, как версии библиотеки базовых классов, так и версии clr.

[Редактировать] Поскольку V4.5 скоро появится, такая же таблица будет доступна для следующей версии.

1 голос
/ 13 декабря 2011

Нет, вы используете последнюю версию, 3.5 все еще зависит от 2.x в некоторых файлах сборок. попробуйте проверить сборки, которые идут с 2.x, вы никогда не найдете их как 3.x, поэтому для этих файлов нет новой версии.

Добавить 1: Чтобы проверить, на какую платформу вы нацеливаетесь, перейдите в раздел «Процветание проекта» -> «Компиляция» -> нажмите «Дополнительные параметры компиляции» -> «Целевая платформа».

...