Преобразование проекта VS2008 в VS2010

У меня есть сборка проекта компонента в VS2008, ориентированная на .NET Framework 3.5. Недавно я загрузил VS2010 Beta 1, чтобы убедиться, что этот проект будет правильно преобразован, когда придет время перейти на новую IDE. Этот проект содержит ссылки на несколько сторонних dll, созданных для версии 2.0 платформы. Я изменил свой проект на сборку с версией 4.0 фреймворка, но когда я пытаюсь собрать проект, я получаю массу ошибок, которые выглядят так, будто компилятор не может распознать типы классов этих сторонних библиотек, аналогичные приведенным ниже.

«Тип или имя пространства имен 'Data' не существует в пространстве имен 'Microsoft.Practices.EnterpriseLibrary' (вам не хватает ссылки на сборку?)»

Я пытаюсь понять, почему не могу скомпилировать. Из того, что я прочитал, .NET 4.0 использует другую версию CLR. Как или почему это повлияет на мою способность иметь доступ к этим типам? Мне придется

a) Получите исходный код и перекомпилируйте в VS2010 / .NET 4.0, а затем ссылайтесь на эту сборку или

б) Подождать, пока авторы проекта сделают «а» выше и выпустят свои сборки, ориентированные на 4.0 CLR? или

c) Что-то еще, потому что, возможно, моя установка VS2010 не работает?

Я могу изменить свойства проекта на цель 3.5, и все будет работать так, как я ожидал, в среде IDE 2010.


person sdanna    schedule 11.06.2009    source источник
comment
Мой опыт: VS2010 имеет серьезные проблемы с конвертацией проектов.   -  person mmx    schedule 11.06.2009


Ответы (3)


Я подозреваю, что это потому, что .NET 4.0 использует CLR 4.0, а не 2.0. EL 4.1 будет построен на основе CLR 2.0, поэтому я не уверен, что смогу найти его без посторонней помощи.

person John Saunders    schedule 26.06.2009
comment
Я мог бы поклясться, что смог использовать DLL 1.1, когда начал использовать .NET 2.0 (VS 2005). У меня он больше не установлен, поэтому я не могу сказать наверняка. Я думаю, что эта ситуация аналогична той. - person sdanna; 06.07.2009
comment
Вам никогда не удавалось смешивать .NET 1.1 и 2.0. - person John Saunders; 06.07.2009
comment
Я только что получил очень старую версию Log4Net (например, от 01, версия времени выполнения v1.0.3705) и попробовал. Ориентируясь на 2.0 Framework, я успешно скомпилировал. Позвольте мне прояснить: на моем компьютере ДЕЙСТВИТЕЛЬНО установлены все версии фреймворка, включая бета-версию 4.0. Я также смог без проблем иметь цель проекта 4.0. Думаю, мне придется списать это на проблему с обращением и углубиться в эту тему. - person sdanna; 06.07.2009
comment
Когда вы сказали 1.1 dll, я подумал, что вы имели в виду Microsoft .NET Framework 1.1. Похоже, вы имеете в виду сборки, изначально созданные для .NET 1.1. Они будут работать и будут связываться со сборками 2.0 по умолчанию. - person John Saunders; 06.07.2009

Мне кажется, проблема с версией CLR.

В настоящее время я рекомендую б) и / или просто скомпилировать до v2.0 / v3.5.

Есть ли какая-нибудь особенность, которую вы хотите использовать в версии 4.0?

person Adrian Godong    schedule 26.06.2009
comment
Одна из функций, которую я с нетерпением ждал, заключалась в том, чтобы иметь возможность лучше контролировать свои идентификаторы элемента управления ASP .NET, чтобы упростить работу с javascript при нацеливании на определенные элементы управления. - person sdanna; 06.07.2009

Я хотел отметить этот вопрос как полученный, и, основываясь на комментариях и моем собственном опыте, я считаю, что Мехрдад прав в комментарии, прилагаемом к вопросу, и что это была проблема преобразования проекта VS2010.

person sdanna    schedule 30.07.2009